8000 test: update tests to support draft releases · coderbyheart/github@06f1d91 · GitHub
[go: up one dir, main page]

Skip to content

Commit 06f1d91

Browse files
pmrcunhagr2m
authored andcommitted
test: update tests to support draft releases
1 parent c9c5ebf commit 06f1d91

File tree

2 files changed

+35
-10
lines changed

2 files changed

+35
-10
lines changed

test/integration.test.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,13 @@ test.serial('Publish a release with an array of assets', async t => {
152152
target_commitish: options.branch,
153153
name: nextRelease.gitTag,
154154
body: nextRelease.notes,
155+
draft: true,
155156
})
156-
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl});
157+
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl, id: releaseId})
158+
.patch(`/repos/${owner}/${repo}/releases/${releaseId}`, {
159+
draft: false,
160+
})
161+
.reply(200, {html_url: releaseUrl});
157162
const githubUpload1 = upload(env, {
158163
8000 uploadUrl: 'https://github.com',
159164
contentLength: (await stat(path.resolve(cwd, 'upload.txt'))).size,
@@ -171,9 +176,9 @@ test.serial('Publish a release with an array of assets', async t => {
171176

172177
t.is(result.url, releaseUrl);
173178
t.deepEqual(t.context.log.args[0], ['Verify GitHub authentication']);
174-
t.deepEqual(t.context.log.args[1], ['Published GitHub release: %s', releaseUrl]);
175179
t.true(t.context.log.calledWith('Published file %s', otherAssetUrl));
176180
t.true(t.context.log.calledWith('Published file %s', assetUrl));
181+
t.true(t.context.log.calledWith('Published GitHub release: %s', releaseUrl));
177182
t.true(github.isDone());
178183
t.true(githubUpload1.isDone());
179184
t.true(githubUpload2.isDone());
@@ -285,8 +290,13 @@ test.serial('Verify, release and notify success', async t => {
285290
target_commitish: options.branch,
286291
name: nextRelease.gitTag,
287292
body: nextRelease.notes,
293+
draft: true,
294+
})
295+
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl, id: releaseId})
296+
.patch(`/repos/${owner}/${repo}/releases/${releaseId}`, {
297+
draft: false,
288298
})
289-
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl})
299+
.reply(200, {html_url: releaseUrl})
290300
.get(`/repos/${owner}/${repo}`)
291301
.reply(200, {full_name: `${owner}/${repo}`})
292302
.get(
@@ -328,9 +338,9 @@ test.serial('Verify, release and notify success', async t => {
328338
);
329339

330340
t.deepEqual(t.context.log.args[0], ['Verify GitHub authentication']);
331-
t.deepEqual(t.context.log.args[1], ['Published GitHub release: %s', releaseUrl]);
332341
t.true(t.context.log.calledWith('Published file %s', otherAssetUrl));
333342
t.true(t.context.log.calledWith('Published file %s', assetUrl));
343+
t.true(t.context.log.calledWith('Published GitHub release: %s', releaseUrl));
334344
t.true(github.isDone());
335345
t.true(githubUpload1.isDone());
336346
t.true(githubUpload2.isDone());

test/publish.test.js

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ test.serial('Publish a release', async t => {
4747
name: nextRelease.gitTag,
4848
body: nextRelease.notes,
4949
})
50-
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl});
50+
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl, id: releaseId});
5151

5252
const result = await publish(pluginConfig, {cwd, env, options, nextRelease, logger: t.context.logger});
5353

@@ -83,7 +83,7 @@ test.serial('Publish a release, retrying 4 times', async t => {
8383
name: nextRelease.gitTag,
8484
body: nextRelease.notes,
8585
})
86-
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl});
86+
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl, id: releaseId});
8787

8888
const result = await publish(pluginConfig, {cwd, env, options, nextRelease, logger: t.context.logger});
8989

@@ -113,6 +113,11 @@ test.serial('Publish a release with one asset', async t => {
113113
target_commitish: options.branch,
114114
name: nextRelease.gitTag,
115115
body: nextRelease.notes,
116+
draft: true,
117+
})
118+
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl, id: releaseId})
119+
.patch(`/repos/${owner}/${repo}/releases/${releaseId}`, {
120+
draft: false,
116121
})
117122
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl});
118123

@@ -126,7 +131,7 @@ test.serial('Publish a release with one asset', async t => {
126131
const result = await publish(pluginConfig, {cwd, env, options, nextRelease, logger: t.context.logger});
127132

128133
t.is(result.url, releaseUrl);
129-
t.deepEqual(t.context.log.args[0], ['Published GitHub release: %s', releaseUrl]);
134+
t.true(t.context.log.calledWith('Published GitHub release: %s', releaseUrl));
130135
t.true(t.context.log.calledWith('Published file %s', assetUrl));
131136
t.true(github.isDone());
132137
t.true(githubUpload.isDone());
@@ -153,6 +158,11 @@ test.serial('Publish a release with one asset and custom github url', async t =>
153158
target_commitish: options.branch,
154159
name: nextRelease.gitTag,
155160
body: nextRelease.notes,
161+
draft: true,
162+
})
163+
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl, id: releaseId})
164+
.patch(`/repos/${owner}/${repo}/releases/${releaseId}`, {
165+
draft: false,
156166
})
157167
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl});
158168

@@ -166,7 +176,7 @@ test.serial('Publish a release with one asset and custom github url', async t =>
166176
const result = await publish(pluginConfig, {cwd, env, options, nextRelease, logger: t.context.logger});
167177

168178
t.is(result.url, releaseUrl);
169-
t.deepEqual(t.context.log.args[0], ['Published GitHub release: %s', releaseUrl]);
179+
t.true(t.context.log.calledWith('Published GitHub release: %s', releaseUrl));
170180
t.true(t.context.log.calledWith('Published file %s', assetUrl));
171181
t.true(github.isDone());
172182
t.true(githubUpload.isDone());
@@ -191,13 +201,18 @@ test.serial('Publish a release with an array of missing assets', async t => {
191201
target_commitish: options.branch,
192202
name: nextRelease.gitTag,
193203
body: nextRelease.notes,
204+
draft: true,
194205
})
195-
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl});
206+
.reply(200, {upload_url: uploadUrl, html_url: releaseUrl, id: releaseId})
207+
.patch(`/repos/${owner}/${repo}/releases/${releaseId}`, {
208+
draft: false,
209+
})
210+
.reply(200, {html_url: releaseUrl});
196211

197212
const result = await publish(pluginConfig, {cwd, env, options, nextRelease, logger: t.context.logger});
198213

199214
t.is(result.url, releaseUrl);
200-
t.deepEqual(t.context.log.args[0], ['Published GitHub release: %s', releaseUrl]);
215+
t.true(t.context.log.calledWith('Published GitHub release: %s', releaseUrl));
201216
t.true(t.context.error.calledWith('The asset %s cannot be read, and will be ignored.', 'missing.txt'));
202217
t.true(t.context.error.calledWith('The asset %s is not a file, and will be ignored.', emptyDirectory));
203218
t.true(github.isDone());

0 commit comments

Comments
 (0)
0