From 1fb9a40c493628fcd6cd5e8fa097864975d5385f Mon Sep 17 00:00:00 2001 From: eriawan Date: Tue, 21 Mar 2017 00:38:19 +0700 Subject: [PATCH 1/5] delete the parameterless constructor of RepositoryUpdate --- Octokit/Models/Request/RepositoryUpdate.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Octokit/Models/Request/RepositoryUpdate.cs b/Octokit/Models/Request/RepositoryUpdate.cs index b6c856b8..498eb16d 100644 --- a/Octokit/Models/Request/RepositoryUpdate.cs +++ b/Octokit/Models/Request/RepositoryUpdate.cs @@ -12,10 +12,6 @@ namespace Octokit [DebuggerDisplay("{DebuggerDisplay,nq}")] public class RepositoryUpdate { - [Obsolete("Please use the ctor RepositoryUpdate(string name) as Name is a required field")] - public RepositoryUpdate() - { - } /// /// Creates an object that describes an update to a repository on GitHub. From 32aa4e74433cdbea5156943f6e47c5fc3cafb99c Mon Sep 17 00:00:00 2001 From: eriawan Date: Tue, 21 Mar 2017 00:58:49 +0700 Subject: [PATCH 2/5] Supply the call to ctor with anyreponame string parameter for unit test --- Octokit.Tests/Clients/RepositoriesClientTests.cs | 2 +- Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Octokit.Tests/Clients/RepositoriesClientTests.cs b/Octokit.Tests/Clients/RepositoriesClientTests.cs index 7391a02a..3438d103 100644 --- a/Octokit.Tests/Clients/RepositoriesClientTests.cs +++ b/Octokit.Tests/Clients/RepositoriesClientTests.cs @@ -1040,7 +1040,7 @@ namespace Octokit.Tests.Clients public async Task EnsuresNonNullArguments() { var client = new RepositoriesClient(Substitute.For()); - var update = new RepositoryUpdate(); + var update = new RepositoryUpdate("anyreponame"); await Assert.ThrowsAsync(() => client.Edit(null, "repo", update)); await Assert.ThrowsAsync(() => client.Edit("owner", null, update)); diff --git a/Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs b/Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs index 25ff187a..7ff37bd3 100644 --- a/Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs +++ b/Octokit.Tests/Reactive/ObservableRepositoriesClientTests.cs @@ -888,7 +888,7 @@ namespace Octokit.Tests.Reactive { var github = Substitute.For(); var client = new ObservableRepositoriesClient(github); - var update = new RepositoryUpdate(); + var update = new RepositoryUpdate("anyreponame"); client.Edit("owner", "repo", update); @@ -900,7 +900,7 @@ namespace Octokit.Tests.Reactive { var github = Substitute.For(); var client = new ObservableRepositoriesClient(github); - var update = new RepositoryUpdate(); + var update = new RepositoryUpdate("anyreponame"); client.Edit(1, update); @@ -911,7 +911,7 @@ namespace Octokit.Tests.Reactive public async Task EnsuresNonNullArguments() { var client = new ObservableRepositoriesClient(Substitute.For()); - var update = new RepositoryUpdate(); + var update = new RepositoryUpdate("anyreponame"); Assert.Throws(() => client.Edit(null, "repo", update)); Assert.Throws(() => client.Edit("owner", null, update)); From f020170b888a1e81049dc468f562dd9f9ba53537 Mon Sep 17 00:00:00 2001 From: eriawan Date: Tue, 21 Mar 2017 01:03:01 +0700 Subject: [PATCH 3/5] Since we'have removed the default constructor of RepositoryUpdate, this CanSerialize Fact needs to be updated --- Octokit.Tests/Models/RepositoryUpdateTests.cs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Octokit.Tests/Models/RepositoryUpdateTests.cs b/Octokit.Tests/Models/RepositoryUpdateTests.cs index d7890ce7..299668bf 100644 --- a/Octokit.Tests/Models/RepositoryUpdateTests.cs +++ b/Octokit.Tests/Models/RepositoryUpdateTests.cs @@ -21,16 +21,13 @@ namespace Octokit.Tests.Models "\"has_wiki\":true," + "\"has_downloads\":true}"; - var update = new RepositoryUpdate - { - Name = "Hello-World", - Description = "This is your first repository", - Homepage = "https://github.com", - Private = true, - HasIssues = true, - HasWiki = true, - HasDownloads = true - }; + var update = new RepositoryUpdate("Hello-World"); + update.Description = "This is your first repository"; + update.Homepage = "https://github.com"; + update.Private = true; + update.HasIssues = true; + update.HasWiki = true; + update.HasDownloads = true; var json = new SimpleJsonSerializer().Serialize(update); From 332b5216bb6f9002577fa0acf20e2f407efa5581 Mon Sep 17 00:00:00 2001 From: eriawan Date: Tue, 21 Mar 2017 01:11:39 +0700 Subject: [PATCH 4/5] Retain the rest of property initializers --- Octokit.Tests/Models/RepositoryUpdateTests.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Octokit.Tests/Models/RepositoryUpdateTests.cs b/Octokit.Tests/Models/RepositoryUpdateTests.cs index 299668bf..a1b91b49 100644 --- a/Octokit.Tests/Models/RepositoryUpdateTests.cs +++ b/Octokit.Tests/Models/RepositoryUpdateTests.cs @@ -21,13 +21,15 @@ namespace Octokit.Tests.Models "\"has_wiki\":true," + "\"has_downloads\":true}"; - var update = new RepositoryUpdate("Hello-World"); - update.Description = "This is your first repository"; - update.Homepage = "https://github.com"; - update.Private = true; - update.HasIssues = true; - update.HasWiki = true; - update.HasDownloads = true; + var update = new RepositoryUpdate("Hello-World") + { + Description = "This is your first repository", + Homepage = "https://github.com", + Private = true, + HasIssues = true, + HasWiki = true, + HasDownloads = true + }; var json = new SimpleJsonSerializer().Serialize(update); From d8c549c5cc83cca2c556d5db2a3d0f2b6464cf43 Mon Sep 17 00:00:00 2001 From: eriawan Date: Tue, 21 Mar 2017 01:33:38 +0700 Subject: [PATCH 5/5] update the code to instantiate RepositoryUpdate with reponame param and keep the existing property init --- .../Clients/RepositoriesClientTests.cs | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs b/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs index 6979d22a..dd2bcc1c 100644 --- a/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs +++ b/Octokit.Tests.Integration/Clients/RepositoriesClientTests.cs @@ -340,7 +340,7 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); var updatedName = Helper.MakeNameWithTimestamp("updated-repo"); - var update = new RepositoryUpdate { Name = updatedName }; + var update = new RepositoryUpdate(updatedName); _repository = await github.Repository.Edit(Helper.UserName, repoName, update); @@ -354,7 +354,7 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); var updatedName = Helper.MakeNameWithTimestamp("updated-repo"); - var update = new RepositoryUpdate { Name = updatedName }; + var update = new RepositoryUpdate(updatedName); _repository = await github.Repository.Edit(_repository.Id, update); @@ -367,7 +367,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, Description = "Updated description" }; + var update = new RepositoryUpdate(repoName) { Description = "Updated description" }; _repository = await github.Repository.Edit(Helper.UserName, repoName, update); @@ -380,7 +380,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, Description = "Updated description" }; + var update = new RepositoryUpdate(repoName) { Description = "Updated description" }; _repository = await github.Repository.Edit(_repository.Id, update); @@ -393,7 +393,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, Homepage = "http://aUrl.to/nowhere" }; + var update = new RepositoryUpdate(repoName) { Homepage = "http://aUrl.to/nowhere" }; _repository = await github.Repository.Edit(Helper.UserName, repoName, update); @@ -406,7 +406,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, Homepage = "http://aUrl.to/nowhere" }; + var update = new RepositoryUpdate(repoName) { Homepage = "http://aUrl.to/nowhere" }; _repository = await github.Repository.Edit(_repository.Id, update); @@ -426,7 +426,7 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, Private = true }; + var update = new RepositoryUpdate(repoName) { Private = true }; _repository = await github.Repository.Edit(Helper.UserName, repoName, update); @@ -446,7 +446,7 @@ public class RepositoriesClientTests var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, Private = true }; + var update = new RepositoryUpdate(repoName) { Private = true }; _repository = await github.Repository.Edit(_repository.Id, update); @@ -459,7 +459,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, HasDownloads = false }; + var update = new RepositoryUpdate(repoName) { HasDownloads = false }; _repository = await github.Repository.Edit(Helper.UserName, repoName, update); @@ -472,7 +472,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, HasDownloads = false }; + var update = new RepositoryUpdate(repoName) { HasDownloads = false }; _repository = await github.Repository.Edit(_repository.Id, update); @@ -485,7 +485,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, HasIssues = false }; + var update = new RepositoryUpdate(repoName) { HasIssues = false }; _repository = await github.Repository.Edit(Helper.UserName, repoName, update); @@ -498,7 +498,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, HasIssues = false }; + var update = new RepositoryUpdate(repoName) { HasIssues = false }; _repository = await github.Repository.Edit(_repository.Id, update); @@ -511,7 +511,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, HasWiki = false }; + var update = new RepositoryUpdate(repoName) { HasWiki = false }; _repository = await github.Repository.Edit(Helper.UserName, repoName, update); @@ -524,7 +524,7 @@ public class RepositoriesClientTests var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); _repository = await github.Repository.Create(new NewRepository(repoName) { AutoInit = true }); - var update = new RepositoryUpdate { Name = repoName, HasWiki = false }; + var update = new RepositoryUpdate(repoName) { HasWiki = false }; _repository = await github.Repository.Edit(_repository.Id, update);