Add tests

Signed-off-by: Kyle Leonhard <kyle.leonhard@snowflake.com>
This commit is contained in:
Kyle Leonhard
2022-12-14 09:55:45 -08:00
parent a20a0ea698
commit e0e49bb0b2
2 changed files with 140 additions and 0 deletions
@@ -586,4 +586,73 @@ describe('github:repo:push', () => {
dismissStaleReviews: false,
});
});
it('should call enableBranchProtectionOnDefaultRepoBranch with the correct values of requiredConversationResolution', async () => {
mockOctokit.rest.repos.get.mockResolvedValue({
data: {
clone_url: 'https://github.com/clone/url.git',
html_url: 'https://github.com/html/url',
},
});
await action.handler(mockContext);
expect(enableBranchProtectionOnDefaultRepoBranch).toHaveBeenCalledWith({
owner: 'owner',
client: mockOctokit,
repoName: 'repository',
logger: mockContext.logger,
defaultBranch: 'master',
requireCodeOwnerReviews: false,
requiredStatusCheckContexts: [],
requireBranchesToBeUpToDate: true,
requiredConversationResolution: false,
enforceAdmins: true,
dismissStaleReviews: false,
});
await action.handler({
...mockContext,
input: {
...mockContext.input,
requiredConversationResolution: true,
},
});
expect(enableBranchProtectionOnDefaultRepoBranch).toHaveBeenCalledWith({
owner: 'owner',
client: mockOctokit,
repoName: 'repository',
logger: mockContext.logger,
defaultBranch: 'master',
requireCodeOwnerReviews: false,
requiredStatusCheckContexts: [],
requireBranchesToBeUpToDate: true,
requiredConversationResolution: true,
enforceAdmins: true,
dismissStaleReviews: false,
});
await action.handler({
...mockContext,
input: {
...mockContext.input,
requiredConversationResolution: false,
},
});
expect(enableBranchProtectionOnDefaultRepoBranch).toHaveBeenCalledWith({
owner: 'owner',
client: mockOctokit,
repoName: 'repository',
logger: mockContext.logger,
defaultBranch: 'master',
requireCodeOwnerReviews: false,
requiredStatusCheckContexts: [],
requireBranchesToBeUpToDate: true,
requiredConversationResolution: false,
enforceAdmins: true,
dismissStaleReviews: false,
});
});
});
@@ -1001,6 +1001,77 @@ describe('publish:github', () => {
},
});
expect(enableBranchProtectionOnDefaultRepoBranch).toHaveBeenCalledWith({
owner: 'owner',
client: mockOctokit,
repoName: 'repo',
logger: mockContext.logger,
defaultBranch: 'master',
requireCodeOwnerReviews: false,
requiredStatusCheckContexts: [],
requireBranchesToBeUpToDate: true,
requiredConversationResolution: false,
enforceAdmins: true,
dismissStaleReviews: false,
});
});
it('should call enableBranchProtectionOnDefaultRepoBranch with the correct values of requiredConversationResolution', async () => {
mockOctokit.rest.users.getByUsername.mockResolvedValue({
data: { type: 'User' },
});
mockOctokit.rest.repos.createForAuthenticatedUser.mockResolvedValue({
data: {
name: 'repo',
},
});
await action.handler(mockContext);
expect(enableBranchProtectionOnDefaultRepoBranch).toHaveBeenCalledWith({
owner: 'owner',
client: mockOctokit,
repoName: 'repo',
logger: mockContext.logger,
defaultBranch: 'master',
requireCodeOwnerReviews: false,
requiredStatusCheckContexts: [],
requireBranchesToBeUpToDate: true,
requiredConversationResolution: false,
enforceAdmins: true,
dismissStaleReviews: false,
});
await action.handler({
...mockContext,
input: {
...mockContext.input,
requiredConversationResolution: true,
},
});
expect(enableBranchProtectionOnDefaultRepoBranch).toHaveBeenCalledWith({
owner: 'owner',
client: mockOctokit,
repoName: 'repo',
logger: mockContext.logger,
defaultBranch: 'master',
requireCodeOwnerReviews: false,
requiredStatusCheckContexts: [],
requireBranchesToBeUpToDate: true,
requiredConversationResolution: true,
enforceAdmins: true,
dismissStaleReviews: false,
});
await action.handler({
...mockContext,
input: {
...mockContext.input,
requiredConversationResolution: false,
},
});
expect(enableBranchProtectionOnDefaultRepoBranch).toHaveBeenCalledWith({
owner: 'owner',
client: mockOctokit,