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); }
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); }