Beispiel #1
0
        public async Task Should_Update_User_As_Administrator()
        {
            // As Admin
            await TestServerFixture.AuthenticateAsAdministratorAsync(Output);

            // Get Roles
            var response = await TestServerFixture.Client.GetAsync(
                Common.Constants.Api.V1.Role.Url,
                Output
                );

            var rolesDto = await response.ConvertToAsync <IEnumerable <RoleDto> >(Output);

            // Get Manager
            response = await TestServerFixture.AuthenticateAsManagerAsync(Output);

            var loginResponseDto = await response.ConvertToAsync <LoginResponseDto>(Output);

            // As Admin
            await TestServerFixture.AuthenticateAsAdministratorAsync(Output);

            // Update User
            response = await TestServerFixture.Client.PutByIdAsync(
                AllInOne.Common.Constants.Api.V1.User.Url,
                Output,
                loginResponseDto.CurrentUser.Id,
                new UpdateUserRequestDto
            {
                Firstname = NewFirstname,
                Lastname  = NewLastname,
                RoleId    = rolesDto.First(r => r.Name == Domains.Core.Constants.Roles.Administrator).Id
            }
                );

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            var dto = await response.ConvertToAsync <UserDto>(Output);

            Assert.Equal(NewFirstname, dto.Firstname);
            Assert.Equal(NewLastname, dto.Lastname);
            Assert.Equal(Domains.Core.Constants.Roles.Administrator, dto.RoleName);

            // Set to default
            response = await TestServerFixture.Client.PutByIdAsync(
                AllInOne.Common.Constants.Api.V1.User.Url,
                Output,
                loginResponseDto.CurrentUser.Id,
                new UpdateUserRequestDto
            {
                Firstname = TestUserDataBuilder.AdministratorFirstname,
                Lastname  = TestUserDataBuilder.AdministratorLastname,
                RoleId    = rolesDto.First(r => r.Name == Domains.Core.Constants.Roles.Manager).Id
            }
                );

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }