diff --git a/Octokit.Reactive/Clients/IObservableReleasesClient.cs b/Octokit.Reactive/Clients/IObservableReleasesClient.cs index 6c27a8bf..48f76e80 100644 --- a/Octokit.Reactive/Clients/IObservableReleasesClient.cs +++ b/Octokit.Reactive/Clients/IObservableReleasesClient.cs @@ -53,10 +53,11 @@ namespace Octokit.Reactive /// /// The repository's owner /// The repository's name + /// The id of the release /// A description of the release to edit /// Thrown when a general API error occurs. /// The updated . - IObservable EditRelease(string owner, string name, ReleaseUpdate data); + IObservable EditRelease(string owner, string name, int number, ReleaseUpdate data); /// /// Deletes an existing for the specified repository. diff --git a/Octokit.Reactive/Clients/ObservableReleasesClient.cs b/Octokit.Reactive/Clients/ObservableReleasesClient.cs index 051a3d58..1b9d8c27 100644 --- a/Octokit.Reactive/Clients/ObservableReleasesClient.cs +++ b/Octokit.Reactive/Clients/ObservableReleasesClient.cs @@ -84,16 +84,17 @@ namespace Octokit.Reactive /// /// The repository's owner /// The repository's name + /// The id of the release /// A description of the release to edit /// Thrown when a general API error occurs. /// The updated . - public IObservable EditRelease(string owner, string name, ReleaseUpdate data) + public IObservable EditRelease(string owner, string name, int number, ReleaseUpdate data) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(data, "data"); - return _client.EditRelease(owner, name, data).ToObservable(); + return _client.EditRelease(owner, name, number, data).ToObservable(); } /// diff --git a/Octokit.Tests/Clients/ReleasesClientTests.cs b/Octokit.Tests/Clients/ReleasesClientTests.cs index 196ae0c7..325becd4 100644 --- a/Octokit.Tests/Clients/ReleasesClientTests.cs +++ b/Octokit.Tests/Clients/ReleasesClientTests.cs @@ -101,9 +101,9 @@ namespace Octokit.Tests.Clients var releasesClient = new ReleasesClient(connection); var data = new ReleaseUpdate("fake-tag"); - releasesClient.EditRelease("fake", "repo", data); + releasesClient.EditRelease("fake", "repo", 1, data); - connection.Received().Patch(Arg.Is(u => u.ToString() == "repos/fake/repo/releases"), data); + connection.Received().Patch(Arg.Is(u => u.ToString() == "repos/fake/repo/releases/1"), data); } [Fact] @@ -111,11 +111,11 @@ namespace Octokit.Tests.Clients { var releasesClient = new ReleasesClient(Substitute.For()); - Assert.Throws(() => releasesClient.EditRelease(null, "name", new ReleaseUpdate("tag"))); - Assert.Throws(() => releasesClient.EditRelease("", "name", new ReleaseUpdate("tag"))); - Assert.Throws(() => releasesClient.EditRelease("owner", null, new ReleaseUpdate("tag"))); - Assert.Throws(() => releasesClient.EditRelease("owner", "", new ReleaseUpdate("tag"))); - Assert.Throws(() => releasesClient.EditRelease("owner", "name", null)); + Assert.Throws(() => releasesClient.EditRelease(null, "name", 1, new ReleaseUpdate("tag"))); + Assert.Throws(() => releasesClient.EditRelease("", "name", 1, new ReleaseUpdate("tag"))); + Assert.Throws(() => releasesClient.EditRelease("owner", null, 1, new ReleaseUpdate("tag"))); + Assert.Throws(() => releasesClient.EditRelease("owner", "", 1, new ReleaseUpdate("tag"))); + Assert.Throws(() => releasesClient.EditRelease("owner", "name", 1, null)); } } @@ -239,7 +239,7 @@ namespace Octokit.Tests.Clients client.EditAsset("fake", "repo", 1, 1, data); - connection.Received().Patch(Arg.Is(u => u.ToString() == "repos/fake/repo/releases/1/assets/1"), + connection.Received().Patch(Arg.Is(u => u.ToString() == "repos/fake/repo/releases/1/assets/1"), data); } diff --git a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs index 85fee58b..18702085 100644 --- a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs +++ b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs @@ -106,9 +106,9 @@ namespace Octokit.Tests.Reactive var releasesClient = new ObservableReleasesClient(gitHubClient); var data = new ReleaseUpdate("fake-tag"); - releasesClient.EditRelease("fake", "repo", data); + releasesClient.EditRelease("fake", "repo", 1, data); - gitHubClient.Release.Received(1).EditRelease("fake", "repo", data); + gitHubClient.Release.Received(1).EditRelease("fake", "repo", 1, data); } [Fact] @@ -117,11 +117,11 @@ namespace Octokit.Tests.Reactive var releasesClient = new ObservableReleasesClient(Substitute.For()); var update = new ReleaseUpdate("tag"); - Assert.Throws(() => releasesClient.EditRelease(null, "name", update)); - Assert.Throws(() => releasesClient.EditRelease("", "name", update)); - Assert.Throws(() => releasesClient.EditRelease("owner", null, update)); - Assert.Throws(() => releasesClient.EditRelease("owner", "", update)); - Assert.Throws(() => releasesClient.EditRelease("owner", "name", null)); + Assert.Throws(() => releasesClient.EditRelease(null, "name", 1, update)); + Assert.Throws(() => releasesClient.EditRelease("", "name", 1, update)); + Assert.Throws(() => releasesClient.EditRelease("owner", null, 1, update)); + Assert.Throws(() => releasesClient.EditRelease("owner", "", 1, update)); + Assert.Throws(() => releasesClient.EditRelease("owner", "name", 1, null)); } } diff --git a/Octokit/Clients/IReleasesClient.cs b/Octokit/Clients/IReleasesClient.cs index 136778af..250f1e43 100644 --- a/Octokit/Clients/IReleasesClient.cs +++ b/Octokit/Clients/IReleasesClient.cs @@ -61,10 +61,11 @@ namespace Octokit /// /// The repository's owner /// The repository's name + /// The id of the release /// A description of the release to edit /// Thrown when a general API error occurs. /// The updated . - Task EditRelease(string owner, string name, ReleaseUpdate data); + Task EditRelease(string owner, string name, int number, ReleaseUpdate data); /// /// Deletes an existing for the specified repository. diff --git a/Octokit/Clients/ReleasesClient.cs b/Octokit/Clients/ReleasesClient.cs index 02bfb0c9..1a3af891 100644 --- a/Octokit/Clients/ReleasesClient.cs +++ b/Octokit/Clients/ReleasesClient.cs @@ -89,16 +89,17 @@ namespace Octokit /// /// The repository's owner /// The repository's name + /// The id of the release /// A description of the release to edit /// Thrown when a general API error occurs. /// The updated . - public Task EditRelease(string owner, string name, ReleaseUpdate data) + public Task EditRelease(string owner, string name, int number, ReleaseUpdate data) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(data, "data"); - var endpoint = ApiUrls.Releases(owner, name); + var endpoint = ApiUrls.Releases(owner, name, number); return ApiConnection.Patch(endpoint, data); }