public void ShouldAddNewCrop() { // 1. Arrange Mock <ICropYieldRepo> mockCropYieldRepo = new Mock <ICropYieldRepo>(); Mock <ICropRepo> mockCropRepo = new Mock <ICropRepo>(); Mock <IFarmRepo> mockFarmRepo = new Mock <IFarmRepo>(); Crop expectedCrop = new Crop { CropID = 1, CropName = "Apple", CropVariety = null, ClassificationID = 1 }; Crop addedCrop = null; mockCropRepo.Setup(m => m.AddCrop(It.IsAny <Crop>())).Returns(Task.CompletedTask).Callback <Crop>(m => addedCrop = m); // 2. Act CropsController cropsController = new CropsController(mockCropYieldRepo.Object, mockCropRepo.Object, mockFarmRepo.Object); var actualAddedCrop = cropsController.AddCrop(expectedCrop); // 3. Assert Assert.Equal(expectedCrop.CropName, addedCrop.CropName); Assert.Equal(expectedCrop, addedCrop); }
public void ShouldReturnViewForSearchCrops() { // Testing // 1. Arrange Mock <ICropYieldRepo> mockCropYieldRepo = new Mock <ICropYieldRepo>(); Mock <ICropRepo> mockCropRepo = new Mock <ICropRepo>(); Mock <IFarmRepo> mockFarmRepo = new Mock <IFarmRepo>(); List <Crop> mockCropList = PopulateCrops(); int?classficationID = 2; mockCropRepo.Setup(m => m.SearchCrops(It.IsAny <Int32?>())).Returns(mockCropList.FindAll(c => c.ClassificationID == classficationID)); // 2. Act CropsController cropsController = new CropsController(mockCropYieldRepo.Object, mockCropRepo.Object, mockFarmRepo.Object); IActionResult result = cropsController.SearchCrops(classficationID); // 3. Assert ViewResult viewResult = Assert.IsType <ViewResult>(result); List <Crop> viewResultModel = viewResult.Model as List <Crop>; Assert.Equal(viewResultModel.Count, mockCropList.FindAll(m => m.ClassificationID == classficationID).Count); Assert.Equal <List <Crop> >(mockCropList.FindAll(m => m.ClassificationID == classficationID), viewResultModel); }
public CropYieldUnitTest() { mockCropYieldRepo = new Mock <ICropYieldRepo>(); mockCropRepo = new Mock <ICropRepo>(); mockFarmRepo = new Mock <IFarmRepo>(); cropsController = new CropsController(mockCropYieldRepo.Object, mockCropRepo.Object, mockFarmRepo.Object); }
public void ShouldReturnViewForListAllCrops() { Mock <ICropYieldRepo> mockCropYieldRepo = new Mock <ICropYieldRepo>(); Mock <ICropRepo> mockCropRepo = new Mock <ICropRepo>(); Mock <IFarmRepo> mockFarmRepo = new Mock <IFarmRepo>(); CropsController cropsController = new CropsController(mockCropYieldRepo.Object, mockCropRepo.Object, mockFarmRepo.Object); List <Crop> mockCropList = PopulateCrops(); mockCropRepo.Setup(m => m.ListAllCrops()).Returns(mockCropList); IActionResult result = cropsController.ListAllCrops(); ViewResult viewResult = Assert.IsType <ViewResult>(result); List <Crop> viewResultModel = viewResult.Model as List <Crop>; Assert.Equal(viewResultModel.Count, mockCropList.Count); // Assert.Equal("Apple",viewResultModel.Find(m => m.CropID == 1).CropName); Assert.StrictEqual <List <Crop> >(mockCropList, viewResultModel); // Count the numbers of rows (actual) // Expected number of rows (3) // Assert.Equal(expectedNumberOfRows, actualNumberOfRow); }
public async Task GetCropsAsyncTest() { // Arrange IEnumerable <CropEntity> responseMock = new List <CropEntity> { new CropEntity { CropId = 1, GardenId = 1, CropName = "Garden1", PlantName = "Plant1", BeginDate = DateTimeOffset.UtcNow.AddDays(-1), EndDate = null, Notes = "Some Notes", CropActivities = new List <CropActivityEntity> { new CropActivityEntity { ActivityId = 1, ActivityDate = DateTimeOffset.UtcNow, CropId = 1, CropActivityId = 1 } } } }; var mapper = new Mapper(_mapperConfiguration); _cropRepositoryMock.Setup(r => r.GetCropsAsync()).ReturnsAsync(responseMock); var controller = new CropsController(mapper, _logger.Object, _cropRepositoryMock.Object); // Act var actionResult = await controller.GetCropsAsync(); // Assert actionResult.Should().NotBeNull(); actionResult.Should().BeOfType <List <Crop> >(); actionResult.Count.Should().Be(1); }