From 3140d02c44570a18186d4f18a1583682b273f259 Mon Sep 17 00:00:00 2001 From: Viktoriya Savkina Date: Wed, 27 Sep 2017 16:22:10 -0700 Subject: [PATCH] adds get user profile endpoint (#14) * adds get user profile endpoint * fixes tests broken by docs versioning feature * adds tests for get user profile endpoint --- PlanGrid.Api.Tests/AttachmentTests.cs | 15 +++++++++------ PlanGrid.Api.Tests/UserTests.cs | 10 ++++++++++ PlanGrid.Api/IPlanGridApi.cs | 3 +++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/PlanGrid.Api.Tests/AttachmentTests.cs b/PlanGrid.Api.Tests/AttachmentTests.cs index 17ac6fb..743d46d 100644 --- a/PlanGrid.Api.Tests/AttachmentTests.cs +++ b/PlanGrid.Api.Tests/AttachmentTests.cs @@ -19,17 +19,18 @@ public class AttachmentTests public async Task UploadAttachment() { IPlanGridApi client = PlanGridClient.Create(); + var docName = Guid.NewGuid().ToString(); FileUpload request = await client.CreateAttachmentUploadRequest(TestData.Project2Uid, new AttachmentUpload { ContentType = AttachmentUpload.Pdf, - Name = "test name", + Name = docName, Folder = "test folder" }); Stream payload = typeof(AttachmentTests).Assembly.GetManifestResourceStream("PlanGrid.Api.Tests.TestData.Sample.pdf"); Attachment attachment = await client.Upload(request, payload); - Assert.AreEqual("test name", attachment.Name); + Assert.AreEqual(docName, attachment.Name); Assert.AreEqual("test folder", attachment.Folder); Assert.AreEqual(TestData.ApiTestsUserUid, attachment.CreatedBy.Uid); Assert.AreNotEqual(attachment.CreatedAt, default(DateTime)); @@ -57,10 +58,11 @@ public async Task UploadAttachment() public async Task UploadPdfAttachment() { IPlanGridApi client = PlanGridClient.Create(); + var docName = Guid.NewGuid().ToString(); Stream payload = typeof(AttachmentTests).Assembly.GetManifestResourceStream("PlanGrid.Api.Tests.TestData.Sample.pdf"); - Attachment attachment = await client.UploadPdfAttachment(TestData.Project2Uid, "test name", payload, "test folder"); + Attachment attachment = await client.UploadPdfAttachment(TestData.Project2Uid, docName, payload, "test folder"); - Assert.AreEqual("test name", attachment.Name); + Assert.AreEqual(docName, attachment.Name); Assert.AreEqual("test folder", attachment.Folder); Assert.AreEqual(TestData.ApiTestsUserUid, attachment.CreatedBy.Uid); Assert.AreNotEqual(attachment.CreatedAt, default(DateTime)); @@ -78,9 +80,10 @@ public async Task UploadPdfAttachment() Attachment retrievedAttachment = await client.GetAttachment(TestData.Project2Uid, attachment.Uid); Assert.IsFalse(retrievedAttachment.IsDeleted); - await client.UpdateAttachment(TestData.Project2Uid, attachment.Uid, new AttachmentUpdate { Name = "new name", Folder = "new folder" }); + var newDocName = Guid.NewGuid().ToString(); + await client.UpdateAttachment(TestData.Project2Uid, attachment.Uid, new AttachmentUpdate { Name = newDocName, Folder = "new folder" }); retrievedAttachment = await client.GetAttachment(TestData.Project2Uid, attachment.Uid); - Assert.AreEqual("new name", retrievedAttachment.Name); + Assert.AreEqual(newDocName, retrievedAttachment.Name); Assert.AreEqual("new folder", retrievedAttachment.Folder); await client.RemoveAttachment(TestData.Project2Uid, attachment.Uid); diff --git a/PlanGrid.Api.Tests/UserTests.cs b/PlanGrid.Api.Tests/UserTests.cs index 5f6df92..6af333c 100644 --- a/PlanGrid.Api.Tests/UserTests.cs +++ b/PlanGrid.Api.Tests/UserTests.cs @@ -38,6 +38,16 @@ public async Task GetUser() Assert.AreEqual("Admin", role.Label); } + [Test] + public async Task GetUserProfile() + { + IPlanGridApi api = PlanGridClient.Create(); + User user = await api.GetUserProfile(); + + Assert.AreEqual(TestData.ApiTestsUserEmail, user.Email); + Assert.IsTrue(!string.IsNullOrEmpty(user.Uid)); + } + [Test] public async Task InviteAndRemoveUser() { diff --git a/PlanGrid.Api/IPlanGridApi.cs b/PlanGrid.Api/IPlanGridApi.cs index 38b1b7c..bcf3cc4 100644 --- a/PlanGrid.Api/IPlanGridApi.cs +++ b/PlanGrid.Api/IPlanGridApi.cs @@ -31,6 +31,9 @@ public interface IPlanGridApi : IDisposable [Get("/projects/{projectUid}/users/{userUid}")] Task GetUser(string projectUid, string userUid); + [Get("/me")] + Task GetUserProfile(); + [Get("/projects/{projectUid}/roles")] Task> GetRoles(string projectUid, int skip = Page.Skip, int limit = Page.Limit);