Exemple #1
0
        public async Task GetAccountAsync_Should_Return_OkObjectResult_With_GetAccountResponse()
        {
            var authResult = AuthorizationResult.Success();
            var getAccountTokenOutputQueries = new List <GetAccountTokenOutputQuery>
            {
                new GetAccountTokenOutputQuery(DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddDays(1),
                                               TokenTypeEnumeration.AccountConfirmation, "123456")
            };
            var getAccountOutputQuery = new GetAccountOutputQuery(Guid.NewGuid(), "*****@*****.**", true,
                                                                  DateTimeOffset.UtcNow, true, null, new List <Guid> {
                Guid.NewGuid()
            }, getAccountTokenOutputQueries);
            var accountTokens = getAccountOutputQuery.Tokens.Select(x =>
                                                                    new AccountToken(x.Issued, x.Expires, TokenProfile.ConvertToAccountTokenTypeEnum(x.Type), x.Value));
            var getAccountResponse = new GetAccountResponse(getAccountOutputQuery.Id, getAccountOutputQuery.Email,
                                                            getAccountOutputQuery.Confirmed, getAccountOutputQuery.Created, getAccountOutputQuery.PasswordAssigned,
                                                            getAccountOutputQuery.LastLogin, getAccountOutputQuery.Roles, accountTokens);

            _authorizationServiceMock
            .Setup(x => x.AuthorizeAsync(It.IsAny <ClaimsPrincipal>(), It.IsAny <object>(), It.IsAny <string>()))
            .ReturnsAsync(authResult);
            _getAccountQueryHandlerMock
            .Setup(x => x.HandleAsync(It.IsAny <GetAccountInputQuery>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(getAccountOutputQuery);
            _mapperMock.Setup(x => x.Map <GetAccountOutputQuery, GetAccountResponse>(It.IsAny <GetAccountOutputQuery>()))
            .Returns(getAccountResponse);

            var result = await _controller.GetAccountAsync(getAccountOutputQuery.Id);

            var okResult = result.As <OkObjectResult>();

            okResult.Value.Should().BeEquivalentTo(getAccountResponse);
        }
Exemple #2
0
        public async Task HandleAsync_Should_Return_GetAccountOutputQuery()
        {
            var token = Token.Builder()
                        .SetIssued(DateTimeOffset.UtcNow)
                        .SetExpires(DateTimeOffset.UtcNow.AddDays(1))
                        .SetType(TokenTypeEnumeration.AccountConfirmation)
                        .SetValue("123456")
                        .Build();
            var account = Account.Builder()
                          .SetId(Guid.NewGuid())
                          .SetEmail("*****@*****.**")
                          .SetConfirmed(true)
                          .SetPasswordHash("PasswordHash")
                          .SetSecurityStamp(Guid.NewGuid())
                          .SetCreated(DateTimeOffset.UtcNow)
                          .SetRoles(new List <Guid> {
                Guid.NewGuid()
            })
                          .SetTokens(new List <Token> {
                token
            })
                          .Build();
            var getAccountResult = GetResult <Account> .Ok(account);

            var getAccountTokenOutputQueries =
                account.Tokens.Select(x => new GetAccountTokenOutputQuery(x.Issued, x.Expires, x.Type, x.Value));
            var getAccountOutputQuery = new GetAccountOutputQuery(account.Id, account.Email, account.Confirmed,
                                                                  account.Created, !string.IsNullOrWhiteSpace(account.PasswordHash), account.LastLogin, account.Roles,
                                                                  getAccountTokenOutputQueries);

            _accountGetterServiceMock.Setup(x => x.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(getAccountResult);
            _mapperMock.Setup(x => x.Map <Account, GetAccountOutputQuery>(It.IsAny <Account>())).Returns(getAccountOutputQuery);

            var result = await _queryHandler.HandleAsync(new GetAccountInputQuery(account.Id));

            result.Should().BeEquivalentTo(getAccountOutputQuery);
        }