1
- import {
2
- asset ,
3
- findTagFromReleases ,
4
- mimeOrDefault ,
5
- Release ,
6
- Releaser ,
7
- } from "../src/github" ;
8
-
9
- import { assert , describe , it } from "vitest" ;
10
-
11
- describe ( "github" , ( ) => {
12
- describe ( "mimeOrDefault" , ( ) => {
13
- it ( "returns a specific mime for common path" , async ( ) => {
14
- assert . equal ( mimeOrDefault ( "foo.tar.gz" ) , "application/gzip" ) ;
1
+ import { asset , findTagFromReleases , mimeOrDefault , Release , Releaser } from '../src/github' ;
2
+
3
+ import { assert , describe , it } from 'vitest' ;
4
+
5
+ describe ( 'github' , ( ) => {
6
+ describe ( 'mimeOrDefault' , ( ) => {
7
+ it ( 'returns a specific mime for common path' , async ( ) => {
8
+ assert . equal ( mimeOrDefault ( 'foo.tar.gz' ) , 'application/gzip' ) ;
15
9
} ) ;
16
- it ( " returns default mime for uncommon path" , async ( ) => {
17
- assert . equal ( mimeOrDefault ( " foo.uncommon" ) , " application/octet-stream" ) ;
10
+ it ( ' returns default mime for uncommon path' , async ( ) => {
11
+ assert . equal ( mimeOrDefault ( ' foo.uncommon' ) , ' application/octet-stream' ) ;
18
12
} ) ;
19
13
} ) ;
20
14
21
- describe ( " asset" , ( ) => {
22
- it ( " derives asset info from a path" , async ( ) => {
23
- const { name, mime, size } = asset ( " tests/data/foo/bar.txt" ) ;
24
- assert . equal ( name , " bar.txt" ) ;
25
- assert . equal ( mime , " text/plain" ) ;
15
+ describe ( ' asset' , ( ) => {
16
+ it ( ' derives asset info from a path' , async ( ) => {
17
+ const { name, mime, size } = asset ( ' tests/data/foo/bar.txt' ) ;
18
+ assert . equal ( name , ' bar.txt' ) ;
19
+ assert . equal ( mime , ' text/plain' ) ;
26
20
assert . equal ( size , 10 ) ;
27
21
} ) ;
28
22
} ) ;
29
23
30
- describe ( " findTagFromReleases" , ( ) => {
31
- const owner = " owner" ;
32
- const repo = " repo" ;
24
+ describe ( ' findTagFromReleases' , ( ) => {
25
+ const owner = ' owner' ;
26
+ const repo = ' repo' ;
33
27
34
28
const mockRelease : Release = {
35
29
id : 1 ,
36
30
upload_url : `https://api.github.com/repos/${ owner } /${ repo } /releases/1/assets` ,
37
31
html_url : `https://github.com/${ owner } /${ repo } /releases/tag/v1.0.0` ,
38
- tag_name : " v1.0.0" ,
39
- name : " Test Release" ,
40
- body : " Test body" ,
41
- target_commitish : " main" ,
32
+ tag_name : ' v1.0.0' ,
33
+ name : ' Test Release' ,
34
+ body : ' Test body' ,
35
+ target_commitish : ' main' ,
42
36
draft : false ,
43
37
prerelease : false ,
44
38
assets : [ ] ,
45
39
} as const ;
46
40
47
41
const mockReleaser : Releaser = {
48
- getReleaseByTag : ( ) => Promise . reject ( " Not implemented" ) ,
49
- createRelease : ( ) => Promise . reject ( " Not implemented" ) ,
50
- updateRelease : ( ) => Promise . reject ( " Not implemented" ) ,
42
+ getReleaseByTag : ( ) => Promise . reject ( ' Not implemented' ) ,
43
+ createRelease : ( ) => Promise . reject ( ' Not implemented' ) ,
44
+ updateRelease : ( ) => Promise . reject ( ' Not implemented' ) ,
51
45
allReleases : async function * ( ) {
52
46
yield { data : [ mockRelease ] } ;
53
47
} ,
54
48
} as const ;
55
49
56
- describe ( " when the tag_name is not an empty string" , ( ) => {
57
- const targetTag = " v1.0.0" ;
50
+ describe ( ' when the tag_name is not an empty string' , ( ) => {
51
+ const targetTag = ' v1.0.0' ;
58
52
59
- it ( " finds a matching release in first batch of results" , async ( ) => {
53
+ it ( ' finds a matching release in first batch of results' , async ( ) => {
60
54
const targetRelease = {
61
55
...mockRelease ,
62
56
owner,
@@ -67,7 +61,7 @@ describe("github", () => {
67
61
...mockRelease ,
68
62
owner,
69
63
repo,
70
- tag_name : " v1.0.1" ,
64
+ tag_name : ' v1.0.1' ,
71
65
} ;
72
66
73
67
const releaser = {
@@ -78,17 +72,12 @@ describe("github", () => {
78
72
} ,
79
73
} ;
80
74
81
- const result = await findTagFromReleases (
82
- releaser ,
83
- owner ,
84
- repo ,
85
- targetTag ,
86
- ) ;
75
+ const result = await findTagFromReleases ( releaser , owner , repo , targetTag ) ;
87
76
88
77
assert . deepStrictEqual ( result , targetRelease ) ;
89
78
} ) ;
90
79
91
- it ( " finds a matching release in second batch of results" , async ( ) => {
80
+ it ( ' finds a matching release in second batch of results' , async ( ) => {
92
81
const targetRelease = {
93
82
...mockRelease ,
94
83
owner,
@@ -99,7 +88,7 @@ describe("github", () => {
99
88
...mockRelease ,
100
89
owner,
101
90
repo,
102
- tag_name : " v1.0.1" ,
91
+ tag_name : ' v1.0.1' ,
103
92
} ;
104
93
105
94
const releaser = {
@@ -110,21 +99,16 @@ describe("github", () => {
110
99
} ,
111
100
} ;
112
101
113
- const result = await findTagFromReleases (
114
- releaser ,
115
- owner ,
116
- repo ,
117
- targetTag ,
118
- ) ;
102
+ const result = await findTagFromReleases ( releaser , owner , repo , targetTag ) ;
119
103
assert . deepStrictEqual ( result , targetRelease ) ;
120
104
} ) ;
121
105
122
- it ( " returns undefined when a release is not found in any batch" , async ( ) => {
106
+ it ( ' returns undefined when a release is not found in any batch' , async ( ) => {
123
107
const otherRelease = {
124
108
...mockRelease ,
125
109
owner,
126
110
repo,
127
- tag_name : " v1.0.1" ,
111
+ tag_name : ' v1.0.1' ,
128
112
} ;
129
113
const releaser = {
130
114
...mockReleaser ,
@@ -134,39 +118,29 @@ describe("github", () => {
134
118
} ,
135
119
} ;
136
120
137
- const result = await findTagFromReleases (
138
- releaser ,
139
- owner ,
140
- repo ,
141
- targetTag ,
142
- ) ;
121
+ const result = await findTagFromReleases ( releaser , owner , repo , targetTag ) ;
143
122
144
123
assert . strictEqual ( result , undefined ) ;
145
124
} ) ;
146
125
147
- it ( " returns undefined when no releases are returned" , async ( ) => {
126
+ it ( ' returns undefined when no releases are returned' , async ( ) => {
148
127
const releaser = {
149
128
...mockReleaser ,
150
129
allReleases : async function * ( ) {
151
130
yield { data : [ ] } ;
152
131
} ,
153
132
} ;
154
133
155
- const result = await findTagFromReleases (
156
- releaser ,
157
- owner ,
158
- repo ,
159
- targetTag ,
160
- ) ;
134
+ const result = await findTagFromReleases ( releaser , owner , repo , targetTag ) ;
161
135
162
136
assert . strictEqual ( result , undefined ) ;
163
137
} ) ;
164
138
} ) ;
165
139
166
- describe ( " when the tag_name is an empty string" , ( ) => {
167
- const emptyTag = "" ;
140
+ describe ( ' when the tag_name is an empty string' , ( ) => {
141
+ const emptyTag = '' ;
168
142
169
- it ( " finds a matching release in first batch of results" , async ( ) => {
143
+ it ( ' finds a matching release in first batch of results' , async ( ) => {
170
144
const targetRelease = {
171
145
...mockRelease ,
172
146
owner,
@@ -177,7 +151,7 @@ describe("github", () => {
177
151
...mockRelease ,
178
152
owner,
179
153
repo,
180
- tag_name : " v1.0.1" ,
154
+ tag_name : ' v1.0.1' ,
181
155
} ;
182
156
183
157
const releaser = {
@@ -188,17 +162,12 @@ describe("github", () => {
188
162
} ,
189
163
} ;
190
164
191
- const result = await findTagFromReleases (
192
- releaser ,
193
- owner ,
194
- repo ,
195
- emptyTag ,
196
- ) ;
165
+ const result = await findTagFromReleases ( releaser , owner , repo , emptyTag ) ;
197
166
198
167
assert . deepStrictEqual ( result , targetRelease ) ;
199
168
} ) ;
200
169
201
- it ( " finds a matching release in second batch of results" , async ( ) => {
170
+ it ( ' finds a matching release in second batch of results' , async ( ) => {
202
171
const targetRelease = {
203
172
...mockRelease ,
204
173
owner,
@@ -209,7 +178,7 @@ describe("github", () => {
209
178
...mockRelease ,
210
179
owner,
211
180
repo,
212
- tag_name : " v1.0.1" ,
181
+ tag_name : ' v1.0.1' ,
213
182
} ;
214
183
215
184
const releaser = {
@@ -220,21 +189,16 @@ describe("github", () => {
220
189
} ,
221
190
} ;
222
191
223
- const result = await findTagFromReleases (
224
- releaser ,
225
- owner ,
226
- repo ,
227
- emptyTag ,
228
- ) ;
192
+ const result = await findTagFromReleases ( releaser , owner , repo , emptyTag ) ;
229
193
assert . deepStrictEqual ( result , targetRelease ) ;
230
194
} ) ;
231
195
232
- it ( " returns undefined when a release is not found in any batch" , async ( ) => {
196
+ it ( ' returns undefined when a release is not found in any batch' , async ( ) => {
233
197
const otherRelease = {
234
198
...mockRelease ,
235
199
owner,
236
200
repo,
237
- tag_name : " v1.0.1" ,
201
+ tag_name : ' v1.0.1' ,
238
202
} ;
239
203
const releaser = {
240
204
...mockReleaser ,
@@ -244,30 +208,20 @@ describe("github", () => {
244
208
} ,
245
209
} ;
246
210
247
- const result = await findTagFromReleases (
248
- releaser ,
249
- owner ,
250
- repo ,
251
- emptyTag ,
252
- ) ;
211
+ const result = await findTagFromReleases ( releaser , owner , repo , emptyTag ) ;
253
212
254
213
assert . strictEqual ( result , undefined ) ;
255
214
} ) ;
256
215
257
- it ( " returns undefined when no releases are returned" , async ( ) => {
216
+ it ( ' returns undefined when no releases are returned' , async ( ) => {
258
217
const releaser = {
259
218
...mockReleaser ,
260
219
allReleases : async function * ( ) {
261
220
yield { data : [ ] } ;
262
221
} ,
263
222
} ;
264
223
265
- const result = await findTagFromReleases (
266
- releaser ,
267
- owner ,
268
- repo ,
269
- emptyTag ,
270
- ) ;
224
+ const result = await findTagFromReleases ( releaser , owner , repo , emptyTag ) ;
271
225
272
226
assert . strictEqual ( result , undefined ) ;
273
227
} ) ;
0 commit comments