Example #1
0
        public async Task <IActionResult> Post([FromBody] MaterialConstructionViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                var excpetion = new
                {
                    error = ResultFormatter.FormatErrorMessage(ModelState)
                };
                return(new BadRequestObjectResult(excpetion));
            }
            try
            {
                VerifyUser();
                ValidateService.Validate(viewModel);
                var result = await _service.Create(viewModel);

                return(Created(HttpContext.Request.Path, result));
            }
            catch (ServiceValidationException ex)
            {
                var Result = new
                {
                    error      = ResultFormatter.Fail(ex),
                    apiVersion = "1.0.0",
                    statusCode = HttpStatusCode.BadRequest,
                    message    = "Data does not pass validation"
                };

                return(new BadRequestObjectResult(Result));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public async Task Post()
        {
            MaterialConstructionViewModel VM = GenerateTestModel();
            var response = await this.Client.PostAsync(URI, new StringContent(JsonConvert.SerializeObject(VM).ToString(), Encoding.UTF8, "application/json"));

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
        }
        public async Task Should_NotValid_Post()
        {
            var dataUtil = new MaterialConstructionViewModel();
            //v
            var serviceMock = new Mock <IMaterialConstructionService>();

            serviceMock.Setup(s => s.Create(It.IsAny <MaterialConstructionViewModel>())).ReturnsAsync(1);
            var service = serviceMock.Object;

            var identityProviderMock = new Mock <IIdentityProvider>();
            var identityProvider     = identityProviderMock.Object;

            var validateServiceMock = new Mock <IValidateService>();

            validateServiceMock.Setup(s => s.Validate(It.IsAny <MaterialConstructionViewModel>()))
            .Verifiable();
            var validateService = validateServiceMock.Object;

            var controller = GetController(service, identityProvider, validateService);

            controller.ModelState.AddModelError("test", "test");
            //controller.ModelState.IsValid == false;
            var response = await controller.Post(dataUtil);

            Assert.Equal((int)HttpStatusCode.BadRequest, GetStatusCode(response));
        }
        public MaterialConstructionViewModel MapToViewModel(MaterialConstruction model)
        {
            MaterialConstructionViewModel viewModel = new MaterialConstructionViewModel();

            PropertyCopier <MaterialConstruction, MaterialConstructionViewModel> .Copy(model, viewModel);

            return(viewModel);
        }
        public MaterialConstruction MapToModel(MaterialConstructionViewModel viewModel)
        {
            MaterialConstruction model = new MaterialConstruction();

            PropertyCopier <MaterialConstructionViewModel, MaterialConstruction> .Copy(viewModel, model);

            return(model);
        }
Example #6
0
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] MaterialConstructionViewModel viewModel)
        {
            VerifyUser();
            if (!ModelState.IsValid)
            {
                var exception = new
                {
                    error = ResultFormatter.FormatErrorMessage(ModelState)
                };
                return(new BadRequestObjectResult(exception));
            }

            try
            {
                VerifyUser();
                ValidateService.Validate(viewModel);
                await _service.Update(id, viewModel);

                return(NoContent());
            }
            catch (ServiceValidationException ex)
            {
                var Result = new
                {
                    error      = ResultFormatter.Fail(ex),
                    apiVersion = "1.0.0",
                    statusCode = HttpStatusCode.BadRequest,
                    message    = "Data does not pass validation"
                };

                return(new BadRequestObjectResult(Result));
            }
            catch (Exception ex)
            {
                var error = new
                {
                    statusCode = HttpStatusCode.InternalServerError,
                    error      = ex.Message
                };
                return(StatusCode((int)HttpStatusCode.InternalServerError, error));
            }
        }
Example #7
0
        public void Should_Error_UploadValidate_EmptyData()
        {
            var repoMock = new Mock <IMaterialConstructionRepository>();

            repoMock.Setup(s => s.ReadAll())
            .Returns(new List <MaterialConstructionModel>().AsQueryable());

            var service = GetService(GetServiceProvider(repoMock.Object).Object);

            var vm     = new MaterialConstructionViewModel();
            var result = service.UploadValidate(new List <MaterialConstructionViewModel>()
            {
                vm
            });

            Assert.False(result.Item1);

            vm.Code = "test";
            result  = service.UploadValidate(new List <MaterialConstructionViewModel>()
            {
                vm
            });

            Assert.False(result.Item1);

            vm.Code = "0";
            result  = service.UploadValidate(new List <MaterialConstructionViewModel>()
            {
                vm
            });

            Assert.False(result.Item1);

            vm.Code = "1100";
            result  = service.UploadValidate(new List <MaterialConstructionViewModel>()
            {
                vm
            });

            Assert.False(result.Item1);
        }
Example #8
0
        public void Should_Exception_ValidationVM()
        {
            var repoMock = new Mock <IMaterialConstructionRepository>();
            var model    = Model;

            model.Id = 1;
            repoMock.Setup(s => s.ReadAll())
            .Returns(new List <MaterialConstructionModel>()
            {
                model
            }.AsQueryable());

            var serviceProvider = GetServiceProvider(repoMock.Object).Object;
            var service         = GetService(serviceProvider);

            var vm = new MaterialConstructionViewModel();
            var validateService = new ValidateService(serviceProvider);

            Assert.ThrowsAny <ServiceValidationException>(() => validateService.Validate(vm));

            vm.Code         = "str";
            validateService = new ValidateService(serviceProvider);
            Assert.ThrowsAny <ServiceValidationException>(() => validateService.Validate(vm));

            vm.Code         = "0";
            validateService = new ValidateService(serviceProvider);
            Assert.ThrowsAny <ServiceValidationException>(() => validateService.Validate(vm));

            vm.Code         = "1202";
            validateService = new ValidateService(serviceProvider);
            Assert.ThrowsAny <ServiceValidationException>(() => validateService.Validate(vm));

            vm.Type         = Model.Type;
            vm.Code         = Model.Code;
            validateService = new ValidateService(serviceProvider);
            Assert.ThrowsAny <ServiceValidationException>(() => validateService.Validate(vm));
        }