/// <summary> /// Edits an existing <see cref="Release"/> for the specified repository. /// </summary> /// <remarks> /// See the <a href="http://developer.github.com/v3/repos/releases/#edit-a-release">API documentation</a> for more information. /// </remarks> /// <param name="owner">The repository's owner</param> /// <param name="name">The repository's name</param> /// <param name="id">The id of the release</param> /// <param name="data">A description of the release to edit</param> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> public IObservable <Release> Edit(string owner, string name, int id, ReleaseUpdate data) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(data, "data"); return(_client.Edit(owner, name, id, data).ToObservable()); }
public async Task CanChangeBodyOfRelease() { var releaseWithNoUpdate = new NewRelease("0.1") { Draft = true }; var release = await _releaseClient.Create(_context.RepositoryOwner, _context.RepositoryName, releaseWithNoUpdate); var editRelease = release.ToUpdate(); editRelease.Body = "**This is an updated release"; editRelease.Draft = false; var updatedRelease = await _releaseClient.Edit(_context.RepositoryOwner, _context.RepositoryName, release.Id, editRelease); Assert.Equal(release.Id, updatedRelease.Id); Assert.False(updatedRelease.Draft); Assert.Equal("**This is an updated release", updatedRelease.Body); }