예제 #1
0
        public async Task PostalCodes_WhenCalledWithoutCountryCode_ReturnsViewResult()
        {
            Controller sut = CreateSut();

            IActionResult result = await sut.PostalCodes();

            Assert.That(result, Is.TypeOf <ViewResult>());
        }
예제 #2
0
        public async Task PostalCodes_WhenCalledWithoutCountryCode_ReturnsViewResultWhereViewNameIsEqualToPostalCodes()
        {
            Controller sut = CreateSut();

            ViewResult result = (ViewResult)await sut.PostalCodes();

            Assert.That(result.ViewName, Is.EqualTo("PostalCodes"));
        }
예제 #3
0
        public async Task PostalCodes_WhenCalledWithKnownCountryCode_ReturnsPartialViewResult()
        {
            Controller sut = CreateSut();

            IActionResult result = await sut.PostalCodes(_fixture.Create <string>());

            Assert.That(result, Is.TypeOf <PartialViewResult>());
        }
예제 #4
0
        public async Task PostalCodes_WhenCalledWithoutCountryCode_AssertQueryAsyncWasCalledOnQueryBus()
        {
            Controller sut = CreateSut();

            await sut.PostalCodes();

            _queryBusMock.Verify(m => m.QueryAsync <EmptyQuery, IEnumerable <ICountry> >(It.IsNotNull <EmptyQuery>()), Times.Once);
        }
예제 #5
0
        public async Task PostalCodes_WhenCalledWithKnownCountryCode_ReturnsPartialViewResultWhereViewNameIsEqualToPostalCodeTablePartial()
        {
            Controller sut = CreateSut();

            PartialViewResult result = (PartialViewResult)await sut.PostalCodes(_fixture.Create <string>());

            Assert.That(result.ViewName, Is.EqualTo("_PostalCodeTablePartial"));
        }
예제 #6
0
        public async Task PostalCodes_WhenCalledWithUnknownCountryCode_ReturnsRedirectToActionResultWhereRouteValuesIsEqualToNull()
        {
            Controller sut = CreateSut(knownCountryCode: false);

            RedirectToActionResult result = (RedirectToActionResult)await sut.PostalCodes(_fixture.Create <string>());

            Assert.That(result.RouteValues, Is.Null);
        }
예제 #7
0
        public async Task PostalCodes_WhenCalledWithUnknownCountryCode_ReturnsRedirectToActionResultWhereActionNameIsEqualToPostalCodes()
        {
            Controller sut = CreateSut(knownCountryCode: false);

            RedirectToActionResult result = (RedirectToActionResult)await sut.PostalCodes(_fixture.Create <string>());

            Assert.That(result.ActionName, Is.EqualTo("PostalCodes"));
        }
예제 #8
0
        public async Task PostalCodes_WhenCalledWithUnknownCountryCode_ReturnsRedirectToActionResult()
        {
            Controller sut = CreateSut(knownCountryCode: false);

            IActionResult result = await sut.PostalCodes(_fixture.Create <string>());

            Assert.That(result, Is.TypeOf <RedirectToActionResult>());
        }
예제 #9
0
        public async Task PostalCodes_WhenCalledWithUnknownCountryCode_AssertQueryAsyncWasNotCalledOnQueryBusWithGetPostalCodeCollectionQuery()
        {
            Controller sut = CreateSut(knownCountryCode: false);

            await sut.PostalCodes(_fixture.Create <string>());

            _queryBusMock.Verify(m => m.QueryAsync <IGetPostalCodeCollectionQuery, IEnumerable <IPostalCode> >(It.IsAny <IGetPostalCodeCollectionQuery>()), Times.Never);
        }
예제 #10
0
        public async Task PostalCodes_WhenCalledWithKnownCountryCode_AssertQueryAsyncWasCalledOnQueryBusWithGetPostalCodeCollectionQuery()
        {
            Controller sut = CreateSut();

            string countryCode = _fixture.Create <string>();
            await sut.PostalCodes(countryCode);

            _queryBusMock.Verify(m => m.QueryAsync <IGetPostalCodeCollectionQuery, IEnumerable <IPostalCode> >(It.Is <IGetPostalCodeCollectionQuery>(query => query != null && string.CompareOrdinal(query.CountryCode, countryCode.ToUpper()) == 0)), Times.Once);
        }
예제 #11
0
        public async Task PostalCodes_WhenCalledWithCountryCodeNotEqualToNullEmptyOrWhiteSpace_AssertQueryAsyncWasCalledOnQueryBusWithGetCountryQuery()
        {
            Controller sut = CreateSut();

            string countryCode = _fixture.Create <string>();
            await sut.PostalCodes(countryCode);

            _queryBusMock.Verify(m => m.QueryAsync <IGetCountryQuery, ICountry>(It.Is <IGetCountryQuery>(query => query != null && string.CompareOrdinal(query.CountryCode, countryCode.ToUpper()) == 0)), Times.Once);
        }
예제 #12
0
        public async Task PostalCodes_WhenCalledWithoutCountryCode_ReturnsViewResultWhereModelIsCollectionOfCountryViewModel()
        {
            IEnumerable <ICountry> countryMockCollection = _fixture.CreateMany <ICountry>(_random.Next(5, 10)).ToList();
            Controller             sut = CreateSut(countryMockCollection);

            ViewResult result = (ViewResult)await sut.PostalCodes();

            Assert.That(result.Model, Is.TypeOf <List <CountryViewModel> >());

            List <CountryViewModel> countryViewModelCollection = (List <CountryViewModel>)result.Model;

            Assert.That(countryViewModelCollection, Is.Not.Null);
            Assert.That(countryViewModelCollection, Is.Not.Empty);
            Assert.That(countryViewModelCollection.Count, Is.EqualTo(countryMockCollection.Count()));
        }
예제 #13
0
        public async Task PostalCodes_WhenCalledWithKnownCountryCode_ReturnsPartialViewResultModelIsCollectionOfPostalCodeViewModel()
        {
            IEnumerable <IPostalCode> postalCodeMockCollection = _fixture.CreateMany <IPostalCode>(_random.Next(10, 25)).ToList();
            Controller sut = CreateSut(postalCodeCollection: postalCodeMockCollection);

            string            countryCode = _fixture.Create <string>();
            PartialViewResult result      = (PartialViewResult)await sut.PostalCodes(countryCode);

            Assert.That(result.ViewData, Is.Not.Null);
            Assert.That(result.ViewData.ContainsKey("CountryCode"), Is.True);
            Assert.That(result.ViewData["CountryCode"], Is.EqualTo(countryCode));

            Assert.That(result.Model, Is.TypeOf <List <PostalCodeViewModel> >());

            List <PostalCodeViewModel> postalCodeViewModelCollection = (List <PostalCodeViewModel>)result.Model;

            Assert.That(postalCodeViewModelCollection, Is.Not.Null);
            Assert.That(postalCodeViewModelCollection, Is.Not.Empty);
            Assert.That(postalCodeViewModelCollection.Count, Is.EqualTo(postalCodeMockCollection.Count()));
        }
예제 #14
0
        public void PostalCodes_WhenCalledWithCountryCodeEqualToWhiteSpace_ThrowsArgumentNullException()
        {
            Controller sut = CreateSut();

            ArgumentNullException result = Assert.ThrowsAsync <ArgumentNullException>(async() => await sut.PostalCodes(" "));

            Assert.That(result.ParamName, Is.EqualTo("countryCode"));
        }