Ejemplo n.º 1
0
        public async Task <OperationDetails> DeleteStoreTypeAsync(StoreTypeDto storeTypeDto)
        {
            if (storeTypeDto == null)
            {
                Logger.Error("Something went wrong");
                return(new OperationDetails(false, "Something went wrong", "StoreType"));
            }

            StoreType storeType = await unitOfWork.StoreTypeRepository.GetByIdAsync(storeTypeDto.Id);

            if (storeType == null)
            {
                Logger.Error("Store type not found");
                return(new OperationDetails(false, "Store type not found", "StoreType"));
            }

            try
            {
                await unitOfWork.StoreTypeRepository.DeleteAsync(storeType);

                await unitOfWork.SaveAsync();

                Logger.Info("Successfully deleted");
                return(new OperationDetails(true));
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(new OperationDetails(false, ex.Message));
            }
        }
Ejemplo n.º 2
0
        public async Task GetStoreTypeByIdAsync_When_Correct_Should_return_StoreDto()
        {
            //arrange
            StoreTypeDto storeTypeDto = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store"
            };

            StoreType storeType = new StoreType
            {
                Id   = 0,
                Name = "Test store"
            };

            storeTypeRepository.Setup(x => x.GetByIdAsync(0)).ReturnsAsync(storeType);
            mapper.Setup(x => x.Map <StoreType, StoreTypeDto>(storeType)).Returns(storeTypeDto);

            //act
            var actualResult = await storeTypeService.GetStoreTypeByIdAsync(storeTypeDto.Id);

            //assert
            actualResult.Should().BeEquivalentTo(storeTypeDto);
            storeTypeRepository.Verify(x => x.GetByIdAsync(storeTypeDto.Id), Times.Once);
        }
Ejemplo n.º 3
0
        public async Task UpdateStoreTypeAsync_When_Update_StoreType_Should_Return_Exception()
        {
            //arrange
            var expectedResult = new OperationDetails(false, "Exception message");

            StoreTypeDto storeTypeDto = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store"
            };

            StoreType storeType = new StoreType
            {
                Id   = 0,
                Name = "Test store"
            };

            mapper.Setup(x => x.Map <StoreTypeDto, StoreType>(storeTypeDto)).Returns(storeType);
            storeTypeRepository.Setup(x => x.UpdateAsync(storeType)).Throws(new Exception("Exception message"));

            //act
            var actualResult = await storeTypeService.UpdateStoreTypeAsync(storeTypeDto);

            //assert
            actualResult.Should().BeEquivalentTo(expectedResult);
        }
Ejemplo n.º 4
0
        public async Task DeleteStoreTypeAsync_When_StoreType_Null_Should_Return_StoreType_Not_Found()
        {
            //arrange
            var expectedResult = new OperationDetails(false, "Store type not found", "StoreType");

            StoreTypeDto storeTypeDto = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store"
            };

            StoreType storeType = new StoreType
            {
                Id   = 0,
                Name = "Test store"
            };

            mapper.Setup(x => x.Map <StoreTypeDto, StoreType>(storeTypeDto)).Returns(storeType);

            //act
            var actualResult = await storeTypeService.DeleteStoreTypeAsync(storeTypeDto);

            //arrange
            actualResult.Should().BeEquivalentTo(expectedResult);
        }
Ejemplo n.º 5
0
        public async Task AddStoreTypeAsync_When_Duplication_Name_Store_Should_Return_StoreType_Already_Exists()
        {
            //arrange
            var expectedResult = new OperationDetails(false, "A Store type with this name already exists", "StoreType");

            StoreTypeDto storeTypeDto = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store"
            };

            StoreType storeType = new StoreType
            {
                Id   = 0,
                Name = "Test store"
            };

            mapper.Setup(x => x.Map <StoreTypeDto, StoreType>(storeTypeDto)).Returns(storeType);
            storeTypeRepository.Setup(x => x.GetByName(storeType.Name)).Returns(storeType);

            //act
            var actualResult = await storeTypeService.AddStoreTypeAsync(storeTypeDto);

            //assert
            actualResult.Should().BeEquivalentTo(expectedResult);
        }
Ejemplo n.º 6
0
        public async Task UpdateStoreTypePost_When_OperationDetails_Is_Succedeed_Should_RedirectToAction_StoreTypeList()
        {
            //arrange
            //arrange
            StoreTypeViewModel storeTypeViewModel = new StoreTypeViewModel
            {
                Id   = 0,
                Name = "test"
            };

            StoreTypeDto storetypeDto = new StoreTypeDto
            {
                Id   = 0,
                Name = "test"
            };

            OperationDetails operationDetails = new OperationDetails(true);

            mapper.Setup(x => x.Map <StoreTypeViewModel, StoreTypeDto>(storeTypeViewModel)).Returns(storetypeDto);
            storeTypeService.Setup(x => x.UpdateStoreTypeAsync(storetypeDto)).ReturnsAsync(operationDetails);

            //act
            var actualResult = await storeTypeAdminController.UpdateStoreType(storeTypeViewModel) as RedirectToRouteResult;

            //assert
            Assert.IsNotNull(actualResult);
            Assert.IsTrue(storeTypeAdminController.ModelState.IsValid);
            Assert.That(actualResult.RouteValues["action"], Is.EqualTo("StoreTypeList"));
            storeTypeService.Verify(x => x.UpdateStoreTypeAsync(storetypeDto), Times.Once);
        }
Ejemplo n.º 7
0
        public async Task <OperationDetails> UpdateStoreTypeAsync(StoreTypeDto storeTypeDto)
        {
            if (storeTypeDto == null)
            {
                Logger.Error("Something went wrong");
                return(new OperationDetails(false, "Something went wrong", "StoreType"));
            }

            StoreType storeType = mapper.Map <StoreTypeDto, StoreType>(storeTypeDto);

            try
            {
                await unitOfWork.StoreTypeRepository.UpdateAsync(storeType);

                await unitOfWork.SaveAsync();

                Logger.Info("Successfully updated");
                return(new OperationDetails(true));
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(new OperationDetails(false, ex.Message));
            }
        }
Ejemplo n.º 8
0
        public async Task <OperationDetails> AddStoreTypeAsync(StoreTypeDto storeTypeDto)
        {
            if (storeTypeDto == null)
            {
                Logger.Error("Something went wrong");
                return(new OperationDetails(false, "Something went wrong", "StoreType"));
            }

            StoreType storeType = mapper.Map <StoreTypeDto, StoreType>(storeTypeDto);

            try
            {
                if (unitOfWork.StoreTypeRepository.GetByName(storeType.Name) != null)
                {
                    Logger.Error("A Store type with this name already exists");
                    return(new OperationDetails(false, "A Store type with this name already exists", "StoreType"));
                }
                await unitOfWork.StoreTypeRepository.CreateAsync(storeType);

                await unitOfWork.SaveAsync();

                Logger.Info("Successfully added");
                return(new OperationDetails(true));
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(new OperationDetails(false, "Unfortunately, something went wrong....", "StoreType"));
            }
        }
Ejemplo n.º 9
0
        public async Task UpdateStoreType_When_Get_Update_Should_Return_View()
        {
            //arrange
            StoreTypeViewModel storeTypeViewModel = new StoreTypeViewModel
            {
                Id   = 0,
                Name = "test"
            };

            StoreTypeDto storetypeDto = new StoreTypeDto
            {
                Id   = 0,
                Name = "test"
            };

            storeTypeService.Setup(x => x.GetStoreTypeByIdAsync(0)).ReturnsAsync(storetypeDto);
            mapper.Setup(x => x.Map <StoreTypeDto, StoreTypeViewModel>(storetypeDto)).Returns(storeTypeViewModel);

            //act
            var actualResult = await storeTypeAdminController.UpdateStoreType(0) as ViewResult;

            //assert
            Assert.IsNotNull(actualResult);
            Assert.IsTrue(storeTypeAdminController.ModelState.IsValid);
            storeTypeService.Verify(x => x.GetStoreTypeByIdAsync(0), Times.Once);
        }
Ejemplo n.º 10
0
        public async Task AddStore_Post_When_OperationDetails_Is_Succedeed_Should_Return_View_SuccessAdd()
        {
            //arrange
            StoreTypeViewModel storeTypeViewModel = new StoreTypeViewModel
            {
                Id   = 0,
                Name = "test"
            };

            StoreTypeDto storetypeDto = new StoreTypeDto
            {
                Id   = 0,
                Name = "test"
            };

            OperationDetails operationDetails = new OperationDetails(true);

            mapper.Setup(x => x.Map <StoreTypeViewModel, StoreTypeDto>(storeTypeViewModel)).Returns(storetypeDto);
            storeTypeService.Setup(x => x.AddStoreTypeAsync(storetypeDto)).ReturnsAsync(operationDetails);
            storeTypeService.Setup(x => x.GetAllStoreType()).Returns(new List <StoreTypeDto>());

            //act
            var actualResult = await storeTypeAdminController.AddStoreType(storeTypeViewModel) as ViewResult;

            //assert
            Assert.IsNotNull(actualResult);
            Assert.IsTrue(storeTypeAdminController.ModelState.IsValid);
            Assert.AreEqual(actualResult.ViewName, "SuccessAdd");
            storeTypeService.Verify(x => x.AddStoreTypeAsync(storetypeDto), Times.Once);
        }
Ejemplo n.º 11
0
        public void StoreTypeDto_Test_Property()
        {
            //Arrange
            var fixture = new StoreTypeDto();

            //Act
            fixture.Id   = 1;
            fixture.Name = "test";

            //Assert
            fixture.Id.Should().Be(1);
            fixture.Name.Should().BeEquivalentTo("test");
        }
Ejemplo n.º 12
0
        public async Task <ActionResult> UpdateStoreType(StoreTypeViewModel model)
        {
            StoreTypeDto storeTypeDto = mapper.Map <StoreTypeViewModel, StoreTypeDto>(model);

            OperationDetails operationDetails = await storeTypeService.UpdateStoreTypeAsync(storeTypeDto);

            if (operationDetails.Succedeed)
            {
                return(RedirectToAction("StoreTypeList"));
            }
            ModelState.AddModelError(operationDetails.Property, operationDetails.Message);
            return(RedirectToAction("StoreTypeList"));
        }
Ejemplo n.º 13
0
        public async Task <ActionResult> AddStoreType(StoreTypeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            StoreTypeDto     storeTypeDto     = mapper.Map <StoreTypeViewModel, StoreTypeDto>(model);
            OperationDetails operationDetails = await storeTypeService.AddStoreTypeAsync(storeTypeDto);

            if (operationDetails.Succedeed)
            {
                return(View("SuccessAdd"));
            }
            ModelState.AddModelError(operationDetails.Property, operationDetails.Message);
            return(View(model));
        }
Ejemplo n.º 14
0
        public async Task UpdateStoreTypeAsync_When_Correct_Update_Should_Return_True()
        {
            //arrange
            StoreTypeDto storeTypeDto = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store"
            };

            StoreType storeType = new StoreType
            {
                Id   = 0,
                Name = "Test store"
            };

            mapper.Setup(x => x.Map <StoreTypeDto, StoreType>(storeTypeDto)).Returns(storeType);

            //act
            await storeTypeService.UpdateStoreTypeAsync(storeTypeDto);

            //assert
            storeTypeRepository.Verify(x => x.UpdateAsync(storeType), Times.Once);
        }
Ejemplo n.º 15
0
        private static List <StoreTypeDto> CreateListStoreTypeDto()
        {
            StoreTypeDto storeTypeDto1 = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store"
            };

            StoreTypeDto storeTypeDto2 = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store 2"
            };

            StoreTypeDto storeTypeDto3 = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store 3"
            };

            return(new List <StoreTypeDto> {
                storeTypeDto1, storeTypeDto2, storeTypeDto3
            });
        }
Ejemplo n.º 16
0
        public async Task AddStoreTypeAsync_When_Correct_Add_StoreType_Should_Return_True()
        {
            //arrange
            var          expectedResult = new OperationDetails(true);
            StoreTypeDto storeTypeDto   = new StoreTypeDto
            {
                Id   = 0,
                Name = "Test store"
            };

            StoreType storeType = new StoreType
            {
                Id   = 0,
                Name = "Test store"
            };

            mapper.Setup(x => x.Map <StoreTypeDto, StoreType>(storeTypeDto)).Returns(storeType);

            //act
            var actualResult = await storeTypeService.AddStoreTypeAsync(storeTypeDto);

            //assert
            actualResult.Should().BeEquivalentTo(expectedResult);
        }
Ejemplo n.º 17
0
        public async Task <ActionResult> UpdateStoreType(int id)
        {
            StoreTypeDto storeTypeDto = await storeTypeService.GetStoreTypeByIdAsync(id);

            return(View(mapper.Map <StoreTypeDto, StoreTypeViewModel>(storeTypeDto)));
        }
Ejemplo n.º 18
0
        public ActionResult Update(StoreTypeDto dto)
        {
            var result = _storeTypeContract.Update(dto);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }