public void TestThatQueryThrowsArgumentNullExceptionWhenQueryIsNull()
        {
            Fixture fixture = new Fixture();

            MyStorageTypeCollectionGetQueryHandler sut = CreateSut(fixture);

            ArgumentNullException exception = Assert.Throws <ArgumentNullException>(() => sut.Query(null));

            TestHelper.AssertArgumentNullExceptionIsValid(exception, "query");
        }
        public void TestThatQueryCallsStorageTypeGetAllOnSystemDataRepository()
        {
            Fixture fixture = new Fixture();

            StorageTypeCollectionGetQuery query = CreateStorageTypeCollectionGetQuery(fixture);

            MyStorageTypeCollectionGetQueryHandler sut = CreateSut(fixture);

            sut.Query(query);

            _systemDataRepositoryMock.AssertWasCalled(m => m.StorageTypeGetAll(), opt => opt.Repeat.Once());
        }
        public void TestThatQueryCallsGetForTranslationInfoOnSystemDataRepository()
        {
            Fixture fixture = new Fixture();

            Guid translationInfoIdentifier      = Guid.NewGuid();
            StorageTypeCollectionGetQuery query = CreateStorageTypeCollectionGetQuery(fixture, translationInfoIdentifier);

            MyStorageTypeCollectionGetQueryHandler sut = CreateSut(fixture);

            sut.Query(query);

            _systemDataRepositoryMock.AssertWasCalled(m => m.Get <ITranslationInfo>(Arg <Guid> .Is.Equal(translationInfoIdentifier)), opt => opt.Repeat.Once());
        }
        public void TestThatQueryCallsMapOnFoodWasteObjectMapper()
        {
            Fixture fixture = new Fixture();

            StorageTypeCollectionGetQuery query = CreateStorageTypeCollectionGetQuery(fixture);

            ITranslationInfo           translationInfo       = DomainObjectMockBuilder.BuildTranslationInfoMock();
            IEnumerable <IStorageType> storageTypeCollection = DomainObjectMockBuilder.BuildStorageTypeMockCollection();

            MyStorageTypeCollectionGetQueryHandler sut = CreateSut(fixture, translationInfo, storageTypeCollection);

            sut.Query(query);

            _objectMapperMock.AssertWasCalled(m => m.Map <IEnumerable <IStorageType>, IEnumerable <StorageTypeIdentificationView> >(Arg <IEnumerable <IStorageType> > .Is.Equal(storageTypeCollection), Arg <CultureInfo> .Is.Equal(translationInfo.CultureInfo)), opt => opt.Repeat.Once());
        }
        public void TestThatQueryReturnsMappedResult()
        {
            Fixture fixture = new Fixture();

            StorageTypeCollectionGetQuery query = CreateStorageTypeCollectionGetQuery(fixture);

            IEnumerable <StorageTypeIdentificationView> storageTypeIdentificationViewCollection = fixture.CreateMany <StorageTypeIdentificationView>(7);
            MyStorageTypeCollectionGetQueryHandler      sut = CreateSut(fixture, storageTypeIdentificationViewCollection: storageTypeIdentificationViewCollection);

            IEnumerable <StorageTypeIdentificationView> result = sut.Query(query);

            // ReSharper disable PossibleMultipleEnumeration
            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.Not.Empty);
            Assert.That(result, Is.EqualTo(storageTypeIdentificationViewCollection));
            // ReSharper restore PossibleMultipleEnumeration
        }