private async Task inviteUser(string email, int projectId, UserProjectRoles role, UserProjectPermissions permissions, HttpStatusCode expectedHttpStatus) { // Invite user //var url = String.Format("/api/UserProjects/{userEmail}/{projectId}/{role}/{permissions}", email, projectId, role, permissions); //api/UserProjects/Invites/{userEmail}/{projectId}/{role}/{permissions} var url = "/api/UserProjects/" + email + "/" + projectId + "/" + (int)role + "/" + (int)permissions; var body = new StringContent("", Encoding.UTF8, MediaTypeNames.Application.Json); // Call to create new UserProject with status pending var postResponse = await _httpClient.PostAsync(url, body); // Did we create invite user? Assert.AreEqual(expectedHttpStatus, postResponse.StatusCode); }
private async Task rejectInvite(ApplicationUser user, string authUser, UserProjectRoles role, UserProjectPermissions permissions) { // Autherize _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(JwtBearerDefaults.AuthenticationScheme, authUser); // Get user project-invitations var getUrl = "api/UserProjects/Invites"; // Call to get the invitations (UserProjects with status pending) for the logged in user var getResponse = await _httpClient.GetAsync(getUrl); // Did we get the invites? Assert.AreEqual(HttpStatusCode.OK, getResponse.StatusCode); var getUserProjectContent = await getResponse.Content.ReadAsStringAsync(); var userProjects = JsonSerializer.Deserialize <List <UserProject> >(getUserProjectContent); Assert.AreEqual(userProjects.Count, 1); var userproject = userProjects[0]; Assert.AreEqual(userproject.ProjectId, _newProject.ProjectId); Assert.AreEqual(userproject.UserId, user.Id); Assert.AreEqual(userproject.Role, role); Assert.AreEqual(userproject.Rights, permissions); Assert.AreEqual(userproject.Status, UserProjectStatus.PENDING); // Reject invite var url = "api/UserProjects/Invites/Reject/" + userproject.UserProjectId; var body = new StringContent("", Encoding.UTF8, MediaTypeNames.Application.Json); // Call to reject var postResponse = await _httpClient.PostAsync(url, body); // Did we reject? Assert.AreEqual(HttpStatusCode.OK, postResponse.StatusCode); // Get user invites a second time var getResponse2 = await _httpClient.GetAsync(getUrl); // Did we get the invites? Assert.AreEqual(HttpStatusCode.OK, getResponse.StatusCode); var getUserProjectContent2 = await getResponse2.Content.ReadAsStringAsync(); var userProjects2 = JsonSerializer.Deserialize <List <UserProject> >(getUserProjectContent2); // We should have the rejected invite Assert.AreEqual(userProjects2.Count, 0); }