From 806a228056bf9268d79a81c2f600ab9ef0864ae1 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko Date: Mon, 13 May 2019 13:36:09 +0300 Subject: [PATCH] Added assigment projects for user model --- ReportPortal.Client.Tests/User/UserFixture.cs | 9 +++++- ReportPortal.Client/Models/User.cs | 32 ++++++++++++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/ReportPortal.Client.Tests/User/UserFixture.cs b/ReportPortal.Client.Tests/User/UserFixture.cs index 8b2ef296..55ba5ba8 100644 --- a/ReportPortal.Client.Tests/User/UserFixture.cs +++ b/ReportPortal.Client.Tests/User/UserFixture.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using ReportPortal.Client.Models; +using System.Threading.Tasks; using Xunit; namespace ReportPortal.Client.Tests.User @@ -11,6 +12,12 @@ public async Task GetUserInfo() var user = await Service.GetUserAsync(); Assert.Equal("Used for Net integration check via CI", user.Fullname); Assert.NotEmpty(user.Email); + + Assert.NotNull(user.AssignedProjects); + Assert.NotEmpty(user.AssignedProjects.Keys); + + Assert.Contains("ci-agents-checks", user.AssignedProjects.Keys); + Assert.Equal(ProjectRole.Member, user.AssignedProjects["ci-agents-checks"].ProjectRole); } } } diff --git a/ReportPortal.Client/Models/User.cs b/ReportPortal.Client/Models/User.cs index 412875f9..d66918fa 100644 --- a/ReportPortal.Client/Models/User.cs +++ b/ReportPortal.Client/Models/User.cs @@ -1,4 +1,6 @@ -using System.Runtime.Serialization; +using ReportPortal.Client.Converters; +using System.Collections.Generic; +using System.Runtime.Serialization; namespace ReportPortal.Client.Models { @@ -10,5 +12,33 @@ public class User [DataMember(Name = "email")] public string Email { get; set; } + + [DataMember(Name = "assigned_projects")] + public IDictionary AssignedProjects { get; set; } + } + + [DataContract] + public class ProjectAssigment + { + [DataMember(Name = "projectRole")] + public string ProjectRoleString { get; set; } + + public ProjectRole ProjectRole + { + get => EnumConverter.ConvertTo(ProjectRoleString); + set => ProjectRoleString = EnumConverter.ConvertFrom(value); + } + } + + public enum ProjectRole + { + [DataMember(Name = "PROJECT_MANAGER")] + ProjectManager, + [DataMember(Name = "MEMBER")] + Member, + [DataMember(Name = "OPERATOR")] + Operator, + [DataMember(Name = "CUSTOMER")] + Customer } }