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