public void TestUpdate() { var data = new List <FishDefinitionListModel> { new FishDefinitionListModel { Id = 1, Name = "Balýk1", Price = 12 }, new FishDefinitionListModel { Id = 2, Name = "Balýk2", Price = 22 }, new FishDefinitionListModel { Id = 3, Name = "Balýk3", Price = 32 }, new FishDefinitionListModel { Id = 4, Name = "Balýk4", Price = 42.5m } }; // arrange Mock <IFishDefinitionRepository> repositoryMock = new Mock <IFishDefinitionRepository>(); repositoryMock.Setup(r => r.Update(It.IsAny <int>(), It.IsAny <FishDefinition>())) .Callback <int, FishDefinition>((id, fishDef) => { var found = data.FirstOrDefault(p => p.Id == id); if (found != null) { found.Name = fishDef.Name; found.Price = fishDef.Price; } }); repositoryMock.Setup(r => r.ListAll()) .Returns(() => { return(data); }); var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(uow => uow.FishDefinitionRepository).Returns(repositoryMock.Object); var controller = new FishDefinitionV1Controller(mockUnitOfWork.Object); // act var fish = new FishDefinition { Id = 1, Name = "Balýk Test", Price = 33 }; controller.Update(1, fish); var result = controller.ListAll(); // assert Assert.True(result != null); Assert.True(result.Count() == 4); Assert.True(result.Any(x => x.Id == 1)); Assert.True(result.FirstOrDefault(x => x.Id == 1).Price == 33); Assert.True(result.FirstOrDefault(x => x.Id == 1).Name == "Balýk Test"); }
public void TestGet() { // arrange bool searchwasCalled = false; Mock <IFishDefinitionRepository> repositoryMock = new Mock <IFishDefinitionRepository>(); repositoryMock.Setup(r => r.FindOne(15)) .Returns(() => { return(new FishDefinition { Id = 15, Name = "Balýk1", Price = 12 }); }) .Callback(() => searchwasCalled = true); var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(uow => uow.FishDefinitionRepository).Returns(repositoryMock.Object); var controller = new FishDefinitionV1Controller(mockUnitOfWork.Object); // act var data = controller.Get(15); // assert Assert.True(searchwasCalled, "Search was not called."); Assert.True(data != null); Assert.True(data.Id == 15); }
public void TestAdd() { var data = new List <FishDefinitionListModel> { new FishDefinitionListModel { Id = 1, Name = "Balýk1", Price = 12 }, new FishDefinitionListModel { Id = 2, Name = "Balýk2", Price = 22 }, new FishDefinitionListModel { Id = 3, Name = "Balýk3", Price = 32 }, new FishDefinitionListModel { Id = 4, Name = "Balýk4", Price = 42.5m } }; // arrange Mock <IFishDefinitionRepository> repositoryMock = new Mock <IFishDefinitionRepository>(); repositoryMock.Setup(r => r.Add(It.IsAny <FishDefinition>())) .Callback <FishDefinition>(item => data.Add(new FishDefinitionListModel { Id = item.Id, Name = item.Name, Price = item.Price })); repositoryMock.Setup(r => r.ListAll()) .Returns(() => { return(data); }); var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(uow => uow.FishDefinitionRepository).Returns(repositoryMock.Object); var controller = new FishDefinitionV1Controller(mockUnitOfWork.Object); // act var fish = new FishDefinition { Id = 5, Name = "Balýk5", Price = 123 }; controller.Add(fish); var result = controller.ListAll(); // assert Assert.True(result != null); Assert.True(result.Count() == 5); Assert.True(result.Any(x => x.Id == 5)); }
public void TestListAll() { // arrange bool searchwasCalled = false; Mock <IFishDefinitionRepository> repositoryMock = new Mock <IFishDefinitionRepository>(); repositoryMock.Setup(r => r.ListAll()) .Returns(() => { return(new List <FishDefinitionListModel> { new FishDefinitionListModel { Id = 1, Name = "Balýk1", Price = 12 }, new FishDefinitionListModel { Id = 2, Name = "Balýk2", Price = 22 }, new FishDefinitionListModel { Id = 3, Name = "Balýk3", Price = 32 }, new FishDefinitionListModel { Id = 4, Name = "Balýk4", Price = 42.5m } }); }) .Callback(() => searchwasCalled = true); var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(uow => uow.FishDefinitionRepository).Returns(repositoryMock.Object); var controller = new FishDefinitionV1Controller(mockUnitOfWork.Object); // act var data = controller.ListAll(); // assert Assert.True(searchwasCalled, "Search was not called."); Assert.True(data.Count() == 4); }