Esempio n. 1
0
        public void QueryAsync_WhenQueryIsNull_ThrowsArgumentNullException()
        {
            QueryHandler sut = CreateSut();

            ArgumentNullException result = Assert.ThrowsAsync <ArgumentNullException>(async() => await sut.QueryAsync(null));

            Assert.That(result.ParamName, Is.EqualTo("query"));
        }
Esempio n. 2
0
        public async Task QueryAsync_WhenCalledAndPostalCodeCollectionWasNotReturnedFromContactRepository_AssertApplyLogicForPrincipalWasNotCalledOnCountryHelperForAnyPostalCode()
        {
            QueryHandler sut = CreateSut(false);

            IGetPostalCodeCollectionQuery query = CreateQueryMock().Object;
            await sut.QueryAsync(query);

            _countryHelperMock.Verify(m => m.ApplyLogicForPrincipal(It.IsAny <ICountry>()), Times.Never);
        }
Esempio n. 3
0
        public async Task QueryAsync_WhenCalled_AssertCountryCodeWasCalledOnGetPostalCodeCollectionQuery()
        {
            QueryHandler sut = CreateSut();

            Mock <IGetPostalCodeCollectionQuery> query = CreateQueryMock();
            await sut.QueryAsync(query.Object);

            query.Verify(m => m.CountryCode, Times.Once);
        }
Esempio n. 4
0
        public async Task QueryAsync_WhenCalled_AssertGetPostalCodesAsyncWasCalledOnContactRepository()
        {
            QueryHandler sut = CreateSut();

            string countryCode = _fixture.Create <string>();
            IGetPostalCodeCollectionQuery query = CreateQueryMock(countryCode).Object;
            await sut.QueryAsync(query);

            _contactRepositoryMock.Verify(m => m.GetPostalCodesAsync(It.Is <string>(value => string.CompareOrdinal(value, countryCode) == 0)), Times.Once);
        }
Esempio n. 5
0
        public async Task QueryAsync_WhenCalledAndPostalCodeCollectionWasReturnedFromContactRepository_ReturnsPostalCodeCollectionFromContactRepository()
        {
            IEnumerable <IPostalCode> postalCodeCollection = _fixture.CreateMany <IPostalCode>(_random.Next(10, 25)).ToList();
            QueryHandler sut = CreateSut(postalCodeCollection: postalCodeCollection);

            IGetPostalCodeCollectionQuery query  = CreateQueryMock().Object;
            IEnumerable <IPostalCode>     result = await sut.QueryAsync(query);

            Assert.That(result, Is.EqualTo(postalCodeCollection));
        }
Esempio n. 6
0
        public async Task QueryAsync_WhenCalledAndPostalCodeCollectionWasNotReturnedFromContactRepository_ReturnsEmptyPostalCodeCollection()
        {
            QueryHandler sut = CreateSut(false);

            IGetPostalCodeCollectionQuery query  = CreateQueryMock().Object;
            IList <IPostalCode>           result = (await sut.QueryAsync(query)).ToList();

            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.Empty);
        }
Esempio n. 7
0
        public async Task QueryAsync_WhenCalled_AssertValidateWasCalledOnGetPostalCodeCollectionQuery()
        {
            QueryHandler sut = CreateSut();

            Mock <IGetPostalCodeCollectionQuery> query = CreateQueryMock();
            await sut.QueryAsync(query.Object);

            query.Verify(m => m.Validate(
                             It.Is <IValidator>(value => value == _validatorMock.Object),
                             It.Is <IContactRepository>(value => value == _contactRepositoryMock.Object)),
                         Times.Once);
        }
Esempio n. 8
0
        public async Task QueryAsync_WhenCalledAndPostalCodeCollectionWasReturnedFromContactRepository_AssertApplyLogicForPrincipalWasCalledOnCountryHelperForEachPostalCodeFromContactRepository()
        {
            IEnumerable <IPostalCode> postalCodeCollection = _fixture.CreateMany <IPostalCode>(_random.Next(10, 25)).ToList();
            QueryHandler sut = CreateSut(postalCodeCollection: postalCodeCollection);

            IGetPostalCodeCollectionQuery query = CreateQueryMock().Object;
            await sut.QueryAsync(query);

            foreach (IPostalCode postalCode in postalCodeCollection)
            {
                _countryHelperMock.Verify(m => m.ApplyLogicForPrincipal(It.Is <ICountry>(value => value == postalCode.Country)), Times.Once);
            }
        }
Esempio n. 9
0
        public async Task QueryAsync_WhenCalledAndPostalCodeCollectionWasNotReturnedFromContactRepository_AssertCountrySetterWasNotCalledOnAnyPostalCode()
        {
            IEnumerable <Mock <IPostalCode> > postalCodeMockCollection = new List <Mock <IPostalCode> >
            {
                _fixture.BuildPostalCodeMock(),
                                              _fixture.BuildPostalCodeMock(),
                                              _fixture.BuildPostalCodeMock()
            };
            QueryHandler sut = CreateSut(false, postalCodeMockCollection.Select(m => m.Object).ToList());

            IGetPostalCodeCollectionQuery query = CreateQueryMock().Object;
            await sut.QueryAsync(query);

            foreach (Mock <IPostalCode> postalCodeMock in postalCodeMockCollection)
            {
                postalCodeMock.VerifySet(m => m.Country = It.IsAny <ICountry>(), Times.Never);
            }
        }
Esempio n. 10
0
        public async Task QueryAsync_WhenCalledAndPostalCodeCollectionWasReturnedFromContactRepository_AssertCountrySetterWasCalledOnEachPostalCodeFromContactRepository()
        {
            IEnumerable <Mock <IPostalCode> > postalCodeMockCollection = new List <Mock <IPostalCode> >
            {
                _fixture.BuildPostalCodeMock(),
                                              _fixture.BuildPostalCodeMock(),
                                              _fixture.BuildPostalCodeMock()
            };
            ICountry     country = _fixture.BuildCountryMock().Object;
            QueryHandler sut     = CreateSut(postalCodeCollection: postalCodeMockCollection.Select(m => m.Object).ToList(), country: country);

            IGetPostalCodeCollectionQuery query = CreateQueryMock().Object;
            await sut.QueryAsync(query);

            foreach (Mock <IPostalCode> postalCodeMock in postalCodeMockCollection)
            {
                postalCodeMock.VerifySet(m => m.Country = It.Is <ICountry>(value => value == country), Times.Once);
            }
        }