From f34be9b207a69306c814c7b096dc2857d2cc0fc9 Mon Sep 17 00:00:00 2001 From: mroloux Date: Wed, 25 Jul 2018 14:25:01 +0200 Subject: [PATCH] Subaccount e-mail can be updated --- .../Subaccounts/UpdateSubaccountTest.cs | 28 +++++++++++++++++++ SeatsioDotNet/SeatsioDotNet.csproj | 2 +- SeatsioDotNet/Subaccounts/Subaccounts.cs | 16 ++++++++--- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/SeatsioDotNet.Test/Subaccounts/UpdateSubaccountTest.cs b/SeatsioDotNet.Test/Subaccounts/UpdateSubaccountTest.cs index 4b8f6c7..d8e79b5 100644 --- a/SeatsioDotNet.Test/Subaccounts/UpdateSubaccountTest.cs +++ b/SeatsioDotNet.Test/Subaccounts/UpdateSubaccountTest.cs @@ -7,12 +7,40 @@ public class UpdateSubaccountTest : SeatsioClientTest [Fact] public void Test() { + var email = RandomEmail(); var subaccount = Client.Subaccounts.Create("joske"); + Client.Subaccounts.Update(subaccount.Id, "jefke", email); + + var retrievedSubaccount = Client.Subaccounts.Retrieve(subaccount.Id); + Assert.Equal("jefke", retrievedSubaccount.Name); + Assert.Equal(email, retrievedSubaccount.Email); + } + + [Fact] + public void EmailIsOptional() + { + var email = RandomEmail(); + var subaccount = Client.Subaccounts.CreateWithEmail(email, "joske"); + Client.Subaccounts.Update(subaccount.Id, "jefke"); var retrievedSubaccount = Client.Subaccounts.Retrieve(subaccount.Id); Assert.Equal("jefke", retrievedSubaccount.Name); + Assert.Equal(email, retrievedSubaccount.Email); + } + + [Fact] + public void NameIsOptional() + { + var email = RandomEmail(); + var subaccount = Client.Subaccounts.Create("joske"); + + Client.Subaccounts.Update(subaccount.Id, email: email); + + var retrievedSubaccount = Client.Subaccounts.Retrieve(subaccount.Id); + Assert.Equal("joske", retrievedSubaccount.Name); + Assert.Equal(email, retrievedSubaccount.Email); } } } \ No newline at end of file diff --git a/SeatsioDotNet/SeatsioDotNet.csproj b/SeatsioDotNet/SeatsioDotNet.csproj index a39700a..219420f 100644 --- a/SeatsioDotNet/SeatsioDotNet.csproj +++ b/SeatsioDotNet/SeatsioDotNet.csproj @@ -2,7 +2,7 @@ Library true - 31 + 32 mroloux;bverbeken Official Seats.io .NET API client Official Seats.io .NET API client diff --git a/SeatsioDotNet/Subaccounts/Subaccounts.cs b/SeatsioDotNet/Subaccounts/Subaccounts.cs index 1398a5e..bd962e9 100644 --- a/SeatsioDotNet/Subaccounts/Subaccounts.cs +++ b/SeatsioDotNet/Subaccounts/Subaccounts.cs @@ -33,12 +33,10 @@ public Subaccount CreateWithEmail(string email, string name = null) private Subaccount DoCreate(string email = null, string name = null) { var requestBody = new Dictionary(); - if (email != null) { requestBody.Add("email", email); } - if (name != null) { requestBody.Add("name", name); @@ -56,11 +54,21 @@ public Subaccount Retrieve(long id) return AssertOk(_restClient.Execute(restRequest)); } - public void Update(long id, string name) + public void Update(long id, string name = null, string email = null) { + var requestBody = new Dictionary(); + if (email != null) + { + requestBody.Add("email", email); + } + if (name != null) + { + requestBody.Add("name", name); + } + var restRequest = new RestRequest("/subaccounts/{id}", Method.POST) .AddUrlSegment("id", id) - .AddJsonBody(new {name}); + .AddJsonBody(requestBody); AssertOk(_restClient.Execute(restRequest)); }