public async Task Then_The_Query_Is_Handled_And_Data_Returned(
            GetAccountsQuery query,
            List <GetUserAccountsResponse> apiResponse,
            GetAccountTeamMembersResponse teamResponse,
            [Frozen] Mock <IAccountsApiClient <AccountsConfiguration> > accountsApiClient,
            GetAccountsQueryHandler handler)
        {
            teamResponse.UserRef = query.UserId;
            accountsApiClient
            .Setup(x => x.GetAll <GetUserAccountsResponse>(
                       It.Is <GetUserAccountsRequest>(c => c.GetAllUrl.Contains($"user/{query.UserId}/accounts"))))
            .ReturnsAsync(apiResponse);
            accountsApiClient
            .Setup(x => x.GetAll <GetAccountTeamMembersResponse>(
                       It.Is <GetAccountTeamMembersRequest>(c => c.GetAllUrl.Contains($"accounts/{apiResponse.First().EncodedAccountId}/users"))))
            .ReturnsAsync(new List <GetAccountTeamMembersResponse> {
                teamResponse
            });

            var actual = await handler.Handle(query, CancellationToken.None);

            actual.UserAccountResponse.First().Role.Should().Be(teamResponse.Role);
            actual.UserAccountResponse.First().DasAccountName.Should().Be(apiResponse.First().DasAccountName);
            actual.UserAccountResponse.First().EncodedAccountId.Should().Be(apiResponse.First().EncodedAccountId);
        }
Ejemplo n.º 2
0
        public async Task ThenIShouldGetBackAnUpdatedTeamMembersListWithTheCorrectSuccessMessage()
        {
            //Arrange
            var request = new InviteTeamMemberViewModel()
            {
                Email = "*****@*****.**"
            };
            var response = new GetAccountTeamMembersResponse();

            _mediator.Setup(x => x.SendAsync(It.IsAny <CreateInvitationCommand>())).ReturnsAsync(Unit.Value);
            _mediator.Setup(x => x.SendAsync(It.IsAny <GetAccountTeamMembersQuery>())).ReturnsAsync(response);

            //Act
            var result = await _orchestrator.InviteTeamMember(request, "37648");

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(HttpStatusCode.OK, result.Status);
        }
Ejemplo n.º 3
0
        public async Task ThenIShouldGetBackAnUpdatedTeamMembersListWithTheCorrectSuccessMessage()
        {
            //Assign
            const string email    = "*****@*****.**";
            const Role   role     = Role.Owner;
            var          response = new GetAccountTeamMembersResponse();

            _mediator.Setup(x => x.SendAsync(It.IsAny <ChangeTeamMemberRoleCommand>())).ReturnsAsync(Unit.Value);
            _mediator.Setup(x => x.SendAsync(It.IsAny <GetAccountTeamMembersQuery>())).ReturnsAsync(response);

            //Act
            var result = await _orchestrator.ChangeRole("437675", email, role, "37648");

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(HttpStatusCode.OK, result.Status);
            Assert.IsNotNull(result.FlashMessage);
            Assert.AreEqual("Team member updated", result.FlashMessage.Headline);
            Assert.AreEqual($"{email} can now {RoleStrings.GetRoleDescriptionToLower(role)}", result.FlashMessage.Message);
        }