public void GetBrew_ValidIdTastingNotes_ReturnsOkWithBrewAndTastingNotes() { var brewDto = new BrewDto() { Id = _brew.Id, Name = _brew.Name, BrewDate = _brew.BrewDate, BrewedState = _brew.BrewedState, BrewingNotes = _brew.BrewingNotes, ABV = _brew.ABV, Rating = _brew.Rating, TastingNotes = new List <TastingNoteDto>(), Recipe = new RecipeDto() }; var expandoBrewDto = new ExpandoObject(); var dict = (IDictionary <string, object>)expandoBrewDto; foreach (var property in brewDto.GetType().GetProperties()) { dict.Add(property.Name, property.GetValue(brewDto)); } var homeBrewRepositoryMock = new Mock <IHomeBrewRepository>(); var mapperMock = new Mock <IMapper>(); var propertyMappingServiceMock = new Mock <IPropertyMappingService>(); var dataManipulationMock = new Mock <IDataManipulation>(); var brewsController = new BrewsController(homeBrewRepositoryMock.Object, mapperMock.Object, propertyMappingServiceMock.Object); homeBrewRepositoryMock.Setup(hbr => hbr.GetBrew(It.Is <int>(i => i == VALID_ID), true)).Returns(_brew); dataManipulationMock.Setup(dm => dm.ShapeData <BrewDto>(It.IsAny <BrewDto>(), It.IsAny <string>())).Returns(expandoBrewDto); DataManipulationExtensions.Implementation = dataManipulationMock.Object; var result = brewsController.GetBrew(VALID_ID, VALID_MEDIA_TYPE, true); var okObjectResult = result as OkObjectResult; dataManipulationMock.Verify(dm => dm.ShapeData(It.IsAny <BrewDto>(), It.IsAny <string>()), Times.AtLeastOnce()); Assert.AreEqual(expandoBrewDto, okObjectResult.Value); }
public void GetBrew_ValidId_ReturnsOk() { var brewDto = new BrewDto() { Id = _brew.Id, Name = _brew.Name, BrewDate = _brew.BrewDate, BrewedState = _brew.BrewedState, BrewingNotes = _brew.BrewingNotes, ABV = _brew.ABV, Rating = _brew.Rating }; var expandoBrewDto = new ExpandoObject(); var dict = (IDictionary <string, object>)expandoBrewDto; foreach (var property in brewDto.GetType().GetProperties()) { dict.Add(property.Name, property.GetValue(brewDto)); } var homeBrewRepositoryMock = new Mock <IHomeBrewRepository>(); var mapperMock = new Mock <IMapper>(); var propertyMappingServiceMock = new Mock <IPropertyMappingService>(); var dataManipulationMock = new Mock <IDataManipulation>(); var brewsController = new BrewsController(homeBrewRepositoryMock.Object, mapperMock.Object, propertyMappingServiceMock.Object); homeBrewRepositoryMock.Setup(hbr => hbr.GetBrew(It.Is <int>(i => i == VALID_ID), false)).Returns(_brew); dataManipulationMock.Setup(dm => dm.ShapeData <BrewWithoutAdditionalInfoDto>(It.IsAny <BrewWithoutAdditionalInfoDto>(), It.IsAny <string>())).Returns(expandoBrewDto); DataManipulationExtensions.Implementation = dataManipulationMock.Object; var result = brewsController.GetBrew(VALID_ID, VALID_MEDIA_TYPE); var okObjectResult = result as OkObjectResult; Assert.IsNotNull(okObjectResult); }