Пример #1
0
        public async Task CreateAsync_SystemAdminRoleDifferentUser()
        {
            using (var env = new TestEnvironment())
            {
                env.SetUser("user02", SystemRoles.SystemAdmin);
                env.ParatextService.TryGetProjectRoleAsync(Arg.Any <UserEntity>(), "pt01")
                .Returns(Task.FromResult(Attempt.Success(SFProjectRoles.Administrator)));

                Assert.That(env.ContainsProjectUser("projectusernew"), Is.False);

                var projectUser = new SFProjectUserResource
                {
                    Id         = "projectusernew",
                    ProjectRef = "project01",
                    Project    = new SFProjectResource {
                        Id = "project01"
                    },
                    UserRef = "user03",
                    User    = new UserResource {
                        Id = "user03"
                    }
                };
                SFProjectUserResource newProjectUser = await env.Service.CreateAsync(projectUser);

                Assert.That(newProjectUser, Is.Not.Null);
                Assert.That(newProjectUser.Id, Is.EqualTo("projectusernew"));
                Assert.That(newProjectUser.ProjectRef, Is.EqualTo("project01"));
                Assert.That(newProjectUser.UserRef, Is.EqualTo("user03"));
                Assert.That(env.ContainsProjectUser("projectusernew"), Is.True);
            }
        }
Пример #2
0
        public void CreateAsync_UserRoleDifferentUser()
        {
            using (var env = new TestEnvironment())
            {
                env.SetUser("user02", SystemRoles.User);
                env.ParatextService.TryGetProjectRoleAsync(Arg.Any <UserEntity>(), "pt01")
                .Returns(Task.FromResult(Attempt.Success(SFProjectRoles.Administrator)));

                Assert.That(env.ContainsProjectUser("projectusernew"), Is.False);

                var projectUser = new SFProjectUserResource
                {
                    Id         = "projectusernew",
                    ProjectRef = "project01",
                    Project    = new SFProjectResource {
                        Id = "project01"
                    },
                    UserRef = "user03",
                    User    = new UserResource {
                        Id = "user03"
                    }
                };
                var ex = Assert.ThrowsAsync <JsonApiException>(async() =>
                {
                    await env.Service.CreateAsync(projectUser);
                });

                Assert.That(ex.GetStatusCode(), Is.EqualTo(StatusCodes.Status403Forbidden));
            }
        }
Пример #3
0
        public async Task DeleteAsync_UserRoleSameUser()
        {
            using (var env = new TestEnvironment())
            {
                env.SetUser("user01", SystemRoles.User);

                Assert.That(await env.Service.DeleteAsync("projectuser01"), Is.True);

                Assert.That(env.ContainsProjectUser("projectuser01"), Is.False);
            }
        }