mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-11 17:56:10 +00:00
Add DeleteBranchOnMerge option for repositories (#2268)
This commit is contained in:
@@ -219,6 +219,21 @@ public class RepositoriesClientTests
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task CreatesARepositoryWithDeleteBranchOnMergeEnabled()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
var repoName = Helper.MakeNameWithTimestamp("repo-with-delete-branch-on-merge");
|
||||
|
||||
using (var context = await github.CreateRepositoryContext(new NewRepository(repoName) { DeleteBranchOnMerge = true }))
|
||||
{
|
||||
var createdRepository = context.Repository;
|
||||
|
||||
Assert.True(createdRepository.DeleteBranchOnMerge);
|
||||
var repository = await github.Repository.Get(Helper.UserName, repoName);
|
||||
Assert.True(repository.DeleteBranchOnMerge);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ThrowsInvalidGitIgnoreExceptionForInvalidTemplateNames()
|
||||
@@ -613,6 +628,46 @@ public class RepositoriesClientTests
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task UpdatesDeleteBranchOnMergeMethod()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
using (var context = await github.CreateRepositoryContext("public-repo"))
|
||||
{
|
||||
var updateRepository = new RepositoryUpdate(context.RepositoryName)
|
||||
{
|
||||
DeleteBranchOnMerge = true
|
||||
};
|
||||
|
||||
var editedRepository = await github.Repository.Edit(context.RepositoryOwner, context.RepositoryName, updateRepository);
|
||||
Assert.True(editedRepository.DeleteBranchOnMerge);
|
||||
|
||||
var repository = await github.Repository.Get(context.RepositoryOwner, context.RepositoryName);
|
||||
Assert.True(repository.DeleteBranchOnMerge);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task UpdatesDeleteBranchOnMergeMethodWithRepositoryId()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
using (var context = await github.CreateRepositoryContext("public-repo"))
|
||||
{
|
||||
var updateRepository = new RepositoryUpdate(context.RepositoryName)
|
||||
{
|
||||
DeleteBranchOnMerge = true
|
||||
};
|
||||
|
||||
var editedRepository = await github.Repository.Edit(context.RepositoryId, updateRepository);
|
||||
Assert.True(editedRepository.DeleteBranchOnMerge);
|
||||
|
||||
var repository = await github.Repository.Get(context.RepositoryId);
|
||||
Assert.True(repository.DeleteBranchOnMerge);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Helper.DeleteRepo(Helper.GetAuthenticatedClient().Connection, _repository);
|
||||
@@ -790,6 +845,32 @@ public class RepositoriesClientTests
|
||||
Assert.Equal("mit", repository.License.Key);
|
||||
Assert.Equal("MIT License", repository.License.Name);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsRepositoryDeleteBranchOnMergeOptions()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
using (var context = await github.CreateRepositoryContext(Helper.MakeNameWithTimestamp("public-repo")))
|
||||
{
|
||||
var repository = await github.Repository.Get(context.RepositoryOwner, context.RepositoryName);
|
||||
|
||||
Assert.NotNull(repository.DeleteBranchOnMerge);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsRepositoryDeleteBranchOnMergeOptionsWithRepositoryId()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
using (var context = await github.CreateRepositoryContext(Helper.MakeNameWithTimestamp("public-repo")))
|
||||
{
|
||||
var repository = await github.Repository.Get(context.RepositoryId);
|
||||
|
||||
Assert.NotNull(repository.DeleteBranchOnMerge);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class TheGetAllPublicMethod
|
||||
|
||||
@@ -82,6 +82,8 @@ namespace Octokit
|
||||
/// </summary>
|
||||
public int? TeamId { get; set; }
|
||||
|
||||
public bool? DeleteBranchOnMerge { get; set; }
|
||||
|
||||
internal string DebuggerDisplay
|
||||
{
|
||||
get
|
||||
|
||||
@@ -78,6 +78,8 @@ namespace Octokit
|
||||
/// </summary>
|
||||
public bool? AllowMergeCommit { get; set; }
|
||||
|
||||
public bool? DeleteBranchOnMerge { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Optional. True to archive this repository. Note: you cannot unarchive repositories through the API.
|
||||
/// </summary>
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Octokit
|
||||
Id = id;
|
||||
}
|
||||
|
||||
public Repository(string url, string htmlUrl, string cloneUrl, string gitUrl, string sshUrl, string svnUrl, string mirrorUrl, long id, string nodeId, User owner, string name, string fullName, bool isTemplate, string description, string homepage, string language, bool @private, bool fork, int forksCount, int stargazersCount, string defaultBranch, int openIssuesCount, DateTimeOffset? pushedAt, DateTimeOffset createdAt, DateTimeOffset updatedAt, RepositoryPermissions permissions, Repository parent, Repository source, LicenseMetadata license, bool hasIssues, bool hasWiki, bool hasDownloads, bool hasPages, int subscribersCount, long size, bool? allowRebaseMerge, bool? allowSquashMerge, bool? allowMergeCommit, bool archived, int watchersCount)
|
||||
public Repository(string url, string htmlUrl, string cloneUrl, string gitUrl, string sshUrl, string svnUrl, string mirrorUrl, long id, string nodeId, User owner, string name, string fullName, bool isTemplate, string description, string homepage, string language, bool @private, bool fork, int forksCount, int stargazersCount, string defaultBranch, int openIssuesCount, DateTimeOffset? pushedAt, DateTimeOffset createdAt, DateTimeOffset updatedAt, RepositoryPermissions permissions, Repository parent, Repository source, LicenseMetadata license, bool hasIssues, bool hasWiki, bool hasDownloads, bool hasPages, int subscribersCount, long size, bool? allowRebaseMerge, bool? allowSquashMerge, bool? allowMergeCommit, bool archived, int watchersCount, bool? deleteBranchOnMerge)
|
||||
{
|
||||
Url = url;
|
||||
HtmlUrl = htmlUrl;
|
||||
@@ -56,6 +56,7 @@ namespace Octokit
|
||||
AllowMergeCommit = allowMergeCommit;
|
||||
Archived = archived;
|
||||
WatchersCount = watchersCount;
|
||||
DeleteBranchOnMerge = deleteBranchOnMerge;
|
||||
}
|
||||
|
||||
public string Url { get; protected set; }
|
||||
@@ -142,6 +143,8 @@ namespace Octokit
|
||||
|
||||
public bool Archived { get; protected set; }
|
||||
|
||||
public bool? DeleteBranchOnMerge { get; protected set; }
|
||||
|
||||
internal string DebuggerDisplay
|
||||
{
|
||||
get
|
||||
|
||||
Reference in New Issue
Block a user