コード例 #1
0
        public void Invalid400(string dataKey)
        {
            var data     = DefaultData.VacancyAddData400[dataKey];
            var expected = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = StatusCodes.Status400BadRequest,
                Headers    = null,
                Data       = new BadModelResponse
                {
                    Fields = data.InvalidFields?.ToList()
                },
                BadModel = null
            };

            var request = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = null,
                Headers    = null,
                Data       = data.RequestData,
                BadModel   = null
            };

            Assert400ResponseByRequest(request, expected);
        }
コード例 #2
0
        public void Valid201(string dataKey)
        {
            var data     = DefaultData.VacancyAddData201[dataKey];
            var expected = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = StatusCodes.Status201Created,
                Headers    = null,
                Data       = new VacancyAddResponse {
                    Id = null
                },
                BadModel = null
            };

            var request = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = null,
                Headers    = null,
                Data       = data,
                BadModel   = null
            };

            AssertValidResponseByRequest <VacancyAddResponse>(request, expected);
        }
コード例 #3
0
        protected List <VacancyResponse> GetItems()
        {
            var request        = new HttpMessageModel();
            var response       = SendRequest(request, HttpMethod.Get, "vacancy");
            var getAllResponse = JsonConvert.DeserializeObject <VacancyGetAllResponse>(response.Data as string);

            return(getAllResponse.List);
        }
コード例 #4
0
 protected List <string> PopulateDatabase(List <VacancyAddRequest> database)
 => database.ConvertAll((item) => {
     var request     = new HttpMessageModel();
     request.Data    = item;
     var response    = SendRequest(request, HttpMethod.Post, "vacancy");
     var addResponse = JsonConvert.DeserializeObject <VacancyAddResponse>(response.Data as string);
     return(addResponse.Id);
 });
コード例 #5
0
        protected void AssertValidResponseByRequest <TResponse>(
            HttpMessageModel request,
            HttpMessageModel expectedResponse,
            string additionalApiPath = null)
            where TResponse : class
        {
            var actualResponse = SendRequest(request, Method, BasePath, additionalApiPath);

            AssertResponsesNoContentCheck(expectedResponse, actualResponse);
            AssertContentObjectAs <TResponse>(expectedResponse?.Data, actualResponse?.Data);
        }
コード例 #6
0
        protected void Assert400ResponseByRequest(
            HttpMessageModel request,
            HttpMessageModel expectedResponse,
            string additionalApiPath = null)
        {
            var actualResponse = SendRequest(request, Method, BasePath, additionalApiPath);

            AssertResponsesNoContentCheck(expectedResponse, actualResponse);
            AssertContentAs400(
                expectedResponse?.Data as BadModelResponse,
                actualResponse?.Data as BadModelResponse);
        }
コード例 #7
0
        protected HttpMessageModel SendRequest(
            HttpMessageModel request,
            HttpMethod method,
            string basePath,
            string additionalApiPath = null)
        {
            request.AddApiPath(method, basePath, additionalApiPath);
            request.PatchWithPort(App.Port);

            var response = Client.Send(request);

            return(response.ToModel());
        }
コード例 #8
0
        public JsonResult SignIn([FromBody] LoginModel login)
        {
            if (!ModelState.IsValid)
            {
                return(Json("Invalid user."));
            }
            HttpMessageModel result = this._business.SignIn(login);
            JsonResult       token  = Json("User doen't exist.");

            if (result.Code == MessageStatusCode.OK)
            {
                token = GenerateToken(result.Model as LoginModel);
            }
            return(Json(token));
        }
コード例 #9
0
        public void Valid200ContactPerson(int id)
        {
            var guid             = DatabaseGuids[id];
            var data             = DefaultData.VacancyData[id];
            var letter           = Letters[id % 10];
            var newContactPerson = new Person
            {
                Name       = $"newName{letter}",
                Surname    = $"newSurname{letter}",
                MiddleName = $"newMiddleName{letter}"
            };

            var expected = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = StatusCodes.Status200OK,
                Headers    = null,
                Data       = new VacancyResponse
                {
                    Id            = guid,
                    Title         = data.Title,
                    Salary        = data.Salary,
                    Description   = data.Description,
                    ContactPerson = newContactPerson,
                    ContactPhone  = data.ContactPhone
                },
                BadModel = null
            };

            var request = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = null,
                Headers    = null,
                Data       = new VacancyUpdateModel
                {
                    ContactPerson = new UpdateCommandModel <Person>
                    {
                        IsModified = true,
                        Value      = newContactPerson
                    }
                },
                BadModel = null
            };

            AssertValidResponseByRequest <VacancyResponse>(request, expected, guid);
        }
コード例 #10
0
        public void Valid200Title(int id)
        {
            var guid     = DatabaseGuids[id];
            var data     = DefaultData.VacancyData[id];
            var newTitle = $"newTitle{id}";

            var expected = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = StatusCodes.Status200OK,
                Headers    = null,
                Data       = new VacancyResponse
                {
                    Id            = guid,
                    Title         = newTitle,
                    Salary        = data.Salary,
                    Description   = data.Description,
                    ContactPerson = data.ContactPerson,
                    ContactPhone  = data.ContactPhone
                },
                BadModel = null
            };

            var request = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = null,
                Headers    = null,
                Data       = new VacancyUpdateModel
                {
                    Title = new UpdateCommandModel <string>
                    {
                        IsModified = true,
                        Value      = newTitle
                    }
                },
                BadModel = null
            };

            AssertValidResponseByRequest <VacancyResponse>(request, expected, guid);
        }
コード例 #11
0
        public void Valid200()
        {
            var expected = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = StatusCodes.Status200OK,
                Headers    = null,
                Data       = null,
                BadModel   = null
            };

            var request = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = null,
                Headers    = null,
                Data       = null,
                BadModel   = null
            };

            AssertValidResponseByRequest <VacancyGetAllResponse>(request, expected);
        }
コード例 #12
0
        public void Valid200(int id)
        {
            var guid = DatabaseGuids[id];

            var expected = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = StatusCodes.Status200OK,
                Headers    = null,
                Data       = guid,
                BadModel   = null
            };

            var request = new HttpMessageModel
            {
                ApiCall    = null,
                StatusCode = null,
                Headers    = null,
                Data       = null,
                BadModel   = null
            };

            AssertValidResponseByRequest <VacancyResponse>(request, expected, guid);
        }
コード例 #13
0
 protected void AssertResponsesNoContentCheck(HttpMessageModel expected, HttpMessageModel actual)
 {
     AssertStatusCode(expected.StatusCode, actual.StatusCode);
     AssertHeaders(expected.Headers, actual.Headers);
     AssertContentAs400(expected.BadModel, actual.BadModel);
 }