public void TestThatQueryCallsFoodItemGetAllOnSystemDataRepositoryWhenFoodGroupIdentifierIsNull() { var fixture = new Fixture(); var systemDataRepositoryMock = MockRepository.GenerateMock <ISystemDataRepository>(); systemDataRepositoryMock.Stub(m => m.Get <ITranslationInfo>(Arg <Guid> .Is.Anything)) .Return(DomainObjectMockBuilder.BuildTranslationInfoMock()) .Repeat.Any(); systemDataRepositoryMock.Stub(m => m.DataProviderForFoodItemsGet()) .Return(DomainObjectMockBuilder.BuildDataProviderMock()) .Repeat.Any(); systemDataRepositoryMock.Stub(m => m.FoodItemGetAll()) .Return(DomainObjectMockBuilder.BuildFoodItemMockCollection()) .Repeat.Any(); var foodWasteObjectMapperMock = MockRepository.GenerateMock <IFoodWasteObjectMapper>(); foodWasteObjectMapperMock.Stub(m => m.Map <IFoodItemCollection, IView>(Arg <IFoodItemCollection> .Is.Anything, Arg <CultureInfo> .Is.Anything)) .Return(MockRepository.GenerateMock <IView>()) .Repeat.Any(); var foodItemCollectionGetQueryHandlerBase = new MyFoodItemCollectionGetQueryHandler(systemDataRepositoryMock, foodWasteObjectMapperMock, fixture.Create <bool>()); Assert.That(foodItemCollectionGetQueryHandlerBase, Is.Not.Null); var foodItemCollectionGetQuery = fixture.Build <FoodItemCollectionGetQuery>() .With(m => m.TranslationInfoIdentifier, Guid.NewGuid()) .With(m => m.FoodGroupIdentifier, null) .Create(); foodItemCollectionGetQueryHandlerBase.Query(foodItemCollectionGetQuery); systemDataRepositoryMock.AssertWasCalled(m => m.FoodItemGetAll()); }
public void TestThatConstructorInitializeFoodItemCollectionGetQueryHandlerBase(bool activeOnly) { var systemDataRepositoryMock = MockRepository.GenerateMock <ISystemDataRepository>(); var foodWasteObjectMapperMock = MockRepository.GenerateMock <IFoodWasteObjectMapper>(); var foodItemCollectionGetQueryHandlerBase = new MyFoodItemCollectionGetQueryHandler(systemDataRepositoryMock, foodWasteObjectMapperMock, activeOnly); Assert.That(foodItemCollectionGetQueryHandlerBase, Is.Not.Null); Assert.That(foodItemCollectionGetQueryHandlerBase.GetOnlyActive(), Is.EqualTo(activeOnly)); }
public void TestThatQueryCallsMapWithFoodItemCollectionContainingOnlyActiveFoodItemsOnFoodWasteObjectMapper() { var fixture = new Fixture(); var dataProviderMock = DomainObjectMockBuilder.BuildDataProviderMock(); var foodItemMockCollection = new List <IFoodItem> { DomainObjectMockBuilder.BuildFoodItemMock(dataProvider: dataProviderMock), DomainObjectMockBuilder.BuildFoodItemMock(dataProvider: dataProviderMock), DomainObjectMockBuilder.BuildFoodItemMock(dataProvider: dataProviderMock), DomainObjectMockBuilder.BuildFoodItemMock(false, dataProviderMock), DomainObjectMockBuilder.BuildFoodItemMock(false, dataProviderMock) }; var systemDataRepositoryMock = MockRepository.GenerateMock <ISystemDataRepository>(); systemDataRepositoryMock.Stub(m => m.Get <ITranslationInfo>(Arg <Guid> .Is.Anything)) .Return(DomainObjectMockBuilder.BuildTranslationInfoMock()) .Repeat.Any(); systemDataRepositoryMock.Stub(m => m.DataProviderForFoodItemsGet()) .Return(dataProviderMock) .Repeat.Any(); systemDataRepositoryMock.Stub(m => m.FoodItemGetAll()) .Return(foodItemMockCollection) .Repeat.Any(); var foodWasteObjectMapperMock = MockRepository.GenerateMock <IFoodWasteObjectMapper>(); foodWasteObjectMapperMock.Stub(m => m.Map <IFoodItemCollection, IView>(Arg <IFoodItemCollection> .Is.NotNull, Arg <CultureInfo> .Is.Anything)) .WhenCalled(e => { var foodItemCollection = (IFoodItemCollection)e.Arguments.ElementAt(0); Assert.That(foodItemCollection, Is.Not.Null); Assert.That(foodItemCollection.Count, Is.EqualTo(foodItemMockCollection.Count(foodItem => foodItem.IsActive))); foreach (var foodItem in foodItemCollection) { Assert.That(foodItem, Is.Not.Null); Assert.That(foodItem.IsActive, Is.True); Assert.That(foodItemMockCollection.Contains(foodItem), Is.True); } }) .Return(MockRepository.GenerateMock <IView>()) .Repeat.Any(); var foodItemCollectionGetQueryHandlerBase = new MyFoodItemCollectionGetQueryHandler(systemDataRepositoryMock, foodWasteObjectMapperMock, true); Assert.That(foodItemCollectionGetQueryHandlerBase, Is.Not.Null); var foodItemCollectionGetQuery = fixture.Build <FoodItemCollectionGetQuery>() .With(m => m.TranslationInfoIdentifier, Guid.NewGuid()) .With(m => m.FoodGroupIdentifier, null) .Create(); foodItemCollectionGetQueryHandlerBase.Query(foodItemCollectionGetQuery); foodWasteObjectMapperMock.AssertWasCalled(m => m.Map <IFoodItemCollection, IView>(Arg <IFoodItemCollection> .Is.NotNull, Arg <CultureInfo> .Is.Anything)); }
public void TestThatQueryThrowsArgumentNullExceptionWhenQueryIsNull() { var fixture = new Fixture(); var systemDataRepositoryMock = MockRepository.GenerateMock <ISystemDataRepository>(); var foodWasteObjectMapperMock = MockRepository.GenerateMock <IFoodWasteObjectMapper>(); var foodItemCollectionGetQueryHandlerBase = new MyFoodItemCollectionGetQueryHandler(systemDataRepositoryMock, foodWasteObjectMapperMock, fixture.Create <bool>()); Assert.That(foodItemCollectionGetQueryHandlerBase, Is.Not.Null); var exception = Assert.Throws <ArgumentNullException>(() => foodItemCollectionGetQueryHandlerBase.Query(null)); Assert.That(exception, Is.Not.Null); Assert.That(exception.ParamName, Is.Not.Null); Assert.That(exception.ParamName, Is.Not.Empty); Assert.That(exception.ParamName, Is.EqualTo("query")); Assert.That(exception.InnerException, Is.Null); }