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

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

            _queryBusMock.Verify(m => m.QueryAsync <EmptyQuery, IEnumerable <ICountry> >(It.IsAny <EmptyQuery>()), Times.Once);
        }
예제 #2
0
        public async Task CreateContact_WhenContactViewModelIsInvalidTokenWasReturnedFromTokenHelperFactory_AssertPublishAsyncWasNotCalledOnCommandBus()
        {
            Controller sut = CreateSut(modelIsValid: false);

            await sut.CreateContact(CreateContactViewModel());

            _commandBusMock.Verify(m => m.PublishAsync(It.IsAny <ICreateContactCommand>()), Times.Never);
        }
예제 #3
0
        public async Task CreateContact_WhenNoTokenWasReturnedFromTokenHelperFactory_AssertQueryAsyncWasNotCalledOnQueryBusWithEmptyQueryForPaymentTermCollection()
        {
            Controller sut = CreateSut(false);

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

            _queryBusMock.Verify(m => m.QueryAsync <EmptyQuery, IEnumerable <IPaymentTerm> >(It.IsAny <EmptyQuery>()), Times.Never);
        }
예제 #4
0
        public async Task CreateContact_WhenNoCountryWasReturnedFromQueryBus_ReturnsBadRequestResult()
        {
            Controller sut = CreateSut(hasCountry: false);

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

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

            RedirectToActionResult result = (RedirectToActionResult)await sut.CreateContact(CreateContactViewModel());

            Assert.That(result.ActionName, Is.EqualTo("Contacts"));
        }
예제 #6
0
        public async Task CreateContact_WhenNoTokenWasReturnedFromTokenHelperFactory_AssertQueryAsyncWasNotCalledOnQueryBusWithGetCountryQuery()
        {
            Controller sut = CreateSut(false);

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

            _queryBusMock.Verify(m => m.QueryAsync <IGetCountryQuery, ICountry>(It.IsAny <IGetCountryQuery>()), Times.Never);
        }
예제 #7
0
        public async Task CreateContact_WhenContactViewModelIsValidTokenWasReturnedFromTokenHelperFactory_ReturnsRedirectToActionResultWhereRouteValuesIsNull()
        {
            Controller sut = CreateSut();

            RedirectToActionResult result = (RedirectToActionResult)await sut.CreateContact(CreateContactViewModel());

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

            IActionResult result = await sut.CreateContact(CreateContactViewModel());

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

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

            Assert.That(result.Model, Is.TypeOf <ContactViewModel>());
        }
예제 #10
0
        public async Task CreateContact_WhenCountryWasReturnedFromQueryBus_ReturnsPartialViewResultWhereViewNameIsEqualToContactPartial()
        {
            Controller sut = CreateSut();

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

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

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

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

            IActionResult result = await sut.CreateContact(CreateContactViewModel());

            Assert.That(result, Is.TypeOf <RedirectToActionResult>());
        }
예제 #13
0
        public async Task CreateContact_WhenCountryWasReturnedFromQueryBus_ReturnsPartialViewResultWhereModelIsContactViewModelWhereLendingLimitIsEqualTo14()
        {
            Controller        sut    = CreateSut();
            PartialViewResult result = (PartialViewResult)await sut.CreateContact(_fixture.Create <string>());

            ContactViewModel contactViewModel = (ContactViewModel)result.Model;

            Assert.That(contactViewModel.LendingLimit, Is.EqualTo(14));
        }
예제 #14
0
        public async Task CreateContact_WhenTokenWasReturnedFromTokenHelperFactory_AssertQueryAsyncWasCalledOnQueryBusWithGetCountryQuery()
        {
            Controller sut = CreateSut();

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

            _queryBusMock.Verify(m => m.QueryAsync <IGetCountryQuery, ICountry>(It.Is <IGetCountryQuery>(value => value != null && string.CompareOrdinal(value.CountryCode, countryCode.ToUpper()) == 0)), Times.Once);
        }
예제 #15
0
        public async Task CreateContact_WhenCountryWasReturnedFromQueryBus_ReturnsPartialViewResultWhereModelIsContactViewModelWhereCompanyIsNull()
        {
            Controller sut = CreateSut();

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

            ContactViewModel contactViewModel = (ContactViewModel)result.Model;

            Assert.That(contactViewModel.Company, Is.Null);
        }
예제 #16
0
        public async Task CreateContact_WhenCountryWhichAreDefaultForPrincipalWasReturnedFromQueryBus_ReturnsPartialViewResultWhereModelIsContactViewModelWhereCountryInAddressIsEqualToNull()
        {
            ICountry   country = _fixture.BuildCountryMock(defaultForPrincipal: true).Object;
            Controller sut     = CreateSut(country: country);

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

            ContactViewModel contactViewModel = (ContactViewModel)result.Model;

            Assert.That(contactViewModel.Address.Country, Is.Null);
        }
예제 #17
0
        public async Task CreateContact_WhenCountryWasReturnedFromQueryBus_ReturnsPartialViewResultWhereModelIsContactViewModelWherePaymentTermIsEqualToFirstPaymentTermReturnedFromQueryBus()
        {
            IEnumerable <IPaymentTerm> paymentTermCollection = _fixture.CreateMany <IPaymentTerm>(_random.Next(5, 10)).ToList();
            Controller sut = CreateSut(paymentTermCollection: paymentTermCollection);

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

            ContactViewModel contactViewModel = (ContactViewModel)result.Model;

            Assert.That(contactViewModel.PaymentTerm.Number, Is.EqualTo(paymentTermCollection.Min(paymentTerm => paymentTerm.Number)));
        }
예제 #18
0
        public async Task CreateContact_WhenCalled_AssertGetTokenAsyncWasCalledOnTokenHelperFactory()
        {
            Controller sut = CreateSut();

            await sut.CreateContact(CreateContactViewModel());

            _tokenHelperFactoryMock.Verify(m => m.GetTokenAsync <IRefreshableToken>(
                                               It.Is <TokenType>(value => value == TokenType.MicrosoftGraphToken),
                                               It.IsAny <HttpContext>()),
                                           Times.Once);
        }
예제 #19
0
        public async Task CreateContact_WhenCountryWasReturnedFromQueryBus_ReturnsPartialViewResultWhereModelIsContactViewModelWhereCountryIsEqualToCountryReturnedFromQueryBus()
        {
            string     countryCode = _fixture.Create <string>();
            ICountry   country     = _fixture.BuildCountryMock(countryCode).Object;
            Controller sut         = CreateSut(country: country);

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

            ContactViewModel contactViewModel = (ContactViewModel)result.Model;

            Assert.That(contactViewModel.Country.Code, Is.EqualTo(countryCode));
        }
예제 #20
0
        public async Task CreateContact_WhenCountryWasReturnedFromQueryBus_ReturnsPartialViewResultWhereModelIsContactViewModelWhereMobilePhoneIsEqualToPhonePrefixFromCountry()
        {
            string     phonePrefix = _fixture.Create <string>();
            ICountry   country     = _fixture.BuildCountryMock(phonePrefix: phonePrefix).Object;
            Controller sut         = CreateSut(country: country);

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

            ContactViewModel contactViewModel = (ContactViewModel)result.Model;

            Assert.That(contactViewModel.MobilePhone, Is.EqualTo(phonePrefix));
        }
예제 #21
0
        public async Task CreateContact_WhenCountryWhichAreNotDefaultForPrincipalWasReturnedFromQueryBus_ReturnsPartialViewResultWhereModelIsContactViewModelWhereCountryInAddressIsEqualToUniversalNameFromCountry()
        {
            string     universalName = _fixture.Create <string>();
            ICountry   country       = _fixture.BuildCountryMock(universalName: universalName, defaultForPrincipal: false).Object;
            Controller sut           = CreateSut(country: country);

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

            ContactViewModel contactViewModel = (ContactViewModel)result.Model;

            Assert.That(contactViewModel.Address.Country, Is.EqualTo(universalName));
        }
예제 #22
0
        public async Task CreateContact_WhenCountryWasReturnedFromQueryBus_ReturnsPartialViewResultWhereModelIsContactViewModelWhereContactGroupsIsEqualToContactGroupCollectionReturnedFromQueryBus()
        {
            IEnumerable <IContactGroup> contactGroupCollection = _fixture.CreateMany <IContactGroup>(_random.Next(5, 10)).ToList();
            Controller sut = CreateSut(contactGroupCollection: contactGroupCollection);

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

            ContactViewModel contactViewModel = (ContactViewModel)result.Model;

            Assert.That(contactViewModel.ContactGroups, Is.Not.Null);
            Assert.That(contactViewModel.ContactGroups.Count, Is.EqualTo(contactGroupCollection.Count()));
            Assert.That(contactViewModel.ContactGroups.All(contactGroupViewModel => contactGroupCollection.Any(contactGroup => contactGroup.Number == contactGroupViewModel.Number)), Is.True);
        }
예제 #23
0
        public async Task CreateContact_WhenContactViewModelIsValidTokenWasReturnedFromTokenHelperFactory_AssertPublishAsyncWasCalledOnCommandBus()
        {
            string            tokenType        = _fixture.Create <string>();
            string            accessToken      = _fixture.Create <string>();
            string            refreshToken     = _fixture.Create <string>();
            DateTime          expires          = DateTime.Now.AddSeconds(_random.Next(60, 300));
            IRefreshableToken refreshableToken = _fixture.BuildRefreshableTokenMock(tokenType, accessToken, refreshToken, expires).Object;
            Controller        sut = CreateSut(refreshableToken: refreshableToken);

            await sut.CreateContact(CreateContactViewModel());

            _commandBusMock.Verify(m => m.PublishAsync(It.Is <ICreateContactCommand>(command =>
                                                                                     string.CompareOrdinal(command.TokenType, tokenType) == 0 &&
                                                                                     string.CompareOrdinal(command.AccessToken, accessToken) == 0 &&
                                                                                     string.CompareOrdinal(command.RefreshToken, refreshToken) == 0 &&
                                                                                     command.Expires == expires)),
                                   Times.Once);
        }
예제 #24
0
        public void CreateContact_WhenContactViewModelIsNull_ThrowsArgumentNullException()
        {
            Controller sut = CreateSut();

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

            Assert.That(result.ParamName, Is.EqualTo("contactViewModel"));
        }
예제 #25
0
        public void CreateContact_WhenCountryCodeIsWhiteSpace_ThrowsArgumentNullException()
        {
            Controller sut = CreateSut();

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

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