Пример #1
0
        public async Task UpdateContact_WhenNoTokenWasReturnedFromTokenHelperFactory_ReturnsUnauthorizedResult()
        {
            Controller sut = CreateSut(false);

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

            Assert.That(result, Is.TypeOf <UnauthorizedResult>());
        }
Пример #2
0
        public async Task UpdateContact_WhenContactViewModelIsInvalidTokenWasReturnedFromTokenHelperFactory_AssertPublishAsyncWasNotCalledOnCommandBus()
        {
            Controller sut = CreateSut(modelIsValid: false);

            await sut.UpdateContact(CreateContactViewModel());

            _commandBusMock.Verify(m => m.PublishAsync(It.IsAny <IUpdateContactCommand>()), Times.Never);
        }
Пример #3
0
        public async Task UpdateContact_WhenContactViewModelIsValidTokenWasReturnedFromTokenHelperFactory_ReturnsRedirectToActionResultWhereRouteValuesIsNotNull()
        {
            Controller sut = CreateSut();

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

            Assert.That(result.RouteValues, Is.Not.Null);
        }
Пример #4
0
        public async Task UpdateContact_WhenContactViewModelIsValidTokenWasReturnedFromTokenHelperFactory_ReturnsRedirectToActionResultWhereActionNameIsEqualToContacts()
        {
            Controller sut = CreateSut();

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

            Assert.That(result.ActionName, Is.EqualTo("Contacts"));
        }
Пример #5
0
        public async Task UpdateContact_WhenContactViewModelIsValidTokenWasReturnedFromTokenHelperFactory_ReturnsRedirectToActionResult()
        {
            Controller sut = CreateSut();

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

            Assert.That(result, Is.TypeOf <RedirectToActionResult>());
        }
Пример #6
0
        public async Task UpdateContact_WhenContactViewModelIsValidTokenWasReturnedFromTokenHelperFactory_ReturnsRedirectToActionResultWhereRouteValuesContainsExternalIdentifier()
        {
            Controller sut = CreateSut();

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

            RouteValueDictionary routeValues = result.RouteValues;

            Assert.That(routeValues.ContainsKey("ExternalIdentifier"), Is.True);
        }
Пример #7
0
        public async Task UpdateContact_WhenContactViewModelIsInvalidTokenWasReturnedFromTokenHelperFactory_ReturnsRedirectToActionResultWhereRouteValuesDoesNotContainFilter()
        {
            Controller sut = CreateSut(modelIsValid: false);

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

            RouteValueDictionary routeValues = result.RouteValues;

            Assert.That(routeValues.ContainsKey("Filter"), Is.False);
        }
Пример #8
0
        public async Task UpdateContact_WhenCalled_AssertGetTokenAsyncWasCalledOnTokenHelperFactory()
        {
            Controller sut = CreateSut();

            await sut.UpdateContact(CreateContactViewModel());

            _tokenHelperFactoryMock.Verify(m => m.GetTokenAsync <IRefreshableToken>(
                                               It.Is <TokenType>(value => value == TokenType.MicrosoftGraphToken),
                                               It.IsAny <HttpContext>()),
                                           Times.Once);
        }
Пример #9
0
        public async Task UpdateContact_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);

            string           externalIdentifier = _fixture.Create <string>();
            ContactViewModel contactViewModel   = CreateContactViewModel(externalIdentifier);
            await sut.UpdateContact(contactViewModel);

            _commandBusMock.Verify(m => m.PublishAsync(It.Is <IUpdateContactCommand>(command =>
                                                                                     string.CompareOrdinal(command.TokenType, tokenType) == 0 &&
                                                                                     string.CompareOrdinal(command.AccessToken, accessToken) == 0 &&
                                                                                     string.CompareOrdinal(command.RefreshToken, refreshToken) == 0 &&
                                                                                     command.Expires == expires &&
                                                                                     string.CompareOrdinal(command.ExternalIdentifier, externalIdentifier) == 0)),
                                   Times.Once);
        }
Пример #10
0
        public void UpdateContact_WhenContactViewModelIsNull_ThrowsArgumentNullException()
        {
            Controller sut = CreateSut();

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

            Assert.That(result.ParamName, Is.EqualTo("contactViewModel"));
        }
Пример #11
0
        public async Task UpdateContact_WhenContactViewModelIsValidTokenWasReturnedFromTokenHelperFactory_ReturnsRedirectToActionResultWhereRouteValuesContainsExternalIdentifierWithValueFromContactViewModel()
        {
            Controller sut = CreateSut();

            string                 externalIdentifier = _fixture.Create <string>();
            ContactViewModel       contactViewModel   = CreateContactViewModel(externalIdentifier);
            RedirectToActionResult result             = (RedirectToActionResult)await sut.UpdateContact(contactViewModel);

            RouteValueDictionary routeValues = result.RouteValues;

            Assert.That(routeValues["ExternalIdentifier"], Is.EqualTo(externalIdentifier));
        }