Example #1
0
        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);
        }
Example #2
0
        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);
        }