@tscircuit/fake-snippets 0.0.34 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/bun-test.yml +3 -0
- package/bun-tests/fake-snippets-api/fixtures/get-test-server.ts +12 -1
- package/bun-tests/fake-snippets-api/routes/accounts/get_account_balance.test.ts +1 -5
- package/bun-tests/fake-snippets-api/routes/orders/create.test.ts +0 -1
- package/bun-tests/fake-snippets-api/routes/orders/list.test.ts +3 -3
- package/bun-tests/fake-snippets-api/routes/package_files/create.test.ts +28 -84
- package/bun-tests/fake-snippets-api/routes/package_releases/create.test.ts +12 -36
- package/bun-tests/fake-snippets-api/routes/package_releases/list.test.ts +4 -12
- package/bun-tests/fake-snippets-api/routes/package_releases/update.test.ts +16 -48
- package/bun-tests/fake-snippets-api/routes/packages/add_star.test.ts +12 -44
- package/bun-tests/fake-snippets-api/routes/packages/create.test.ts +4 -12
- package/bun-tests/fake-snippets-api/routes/packages/delete.test.ts +15 -41
- package/bun-tests/fake-snippets-api/routes/packages/list-1.test.ts +1 -5
- package/bun-tests/fake-snippets-api/routes/packages/list-2.test.ts +6 -19
- package/bun-tests/fake-snippets-api/routes/packages/remove_star.test.ts +9 -36
- package/bun-tests/fake-snippets-api/routes/packages/update.test.ts +26 -74
- package/bun-tests/fake-snippets-api/routes/snippets/add_star.test.ts +12 -47
- package/bun-tests/fake-snippets-api/routes/snippets/create.test.ts +6 -14
- package/bun-tests/fake-snippets-api/routes/snippets/delete.test.ts +9 -33
- package/bun-tests/fake-snippets-api/routes/snippets/generate_from_jlcpcb.test.ts +3 -12
- package/bun-tests/fake-snippets-api/routes/snippets/list.test.ts +9 -34
- package/bun-tests/fake-snippets-api/routes/snippets/remove_star.test.ts +12 -44
- package/bun-tests/fake-snippets-api/routes/snippets/update.test.ts +12 -36
- package/bun.lock +27 -29
- package/dist/bundle.js +45 -27
- package/fake-snippets-api/lib/middleware/with-optional-session-auth.ts +27 -8
- package/fake-snippets-api/lib/middleware/with-session-auth.ts +17 -6
- package/fake-snippets-api/routes/api/snippets/add_star.ts +2 -4
- package/fake-snippets-api/routes/api/snippets/create.ts +8 -10
- package/package.json +5 -4
- package/src/App.tsx +3 -0
- package/src/components/CodeAndPreview.tsx +2 -2
- package/src/components/CodeEditor.tsx +1 -1
- package/src/components/DownloadButtonAndMenu.tsx +13 -11
- package/src/components/Footer.tsx +3 -0
- package/src/components/SnippetCard.tsx +159 -0
- package/src/components/ViewPackagePage/components/main-content-view-selector.tsx +89 -27
- package/src/pages/404.tsx +56 -0
- package/src/pages/trending.tsx +222 -0
- package/src/pages/user-profile.tsx +11 -102
- package/src/pages/view-package.tsx +18 -2
- package/src/lib/templates/manual-edits-template.ts +0 -5
|
@@ -8,6 +8,7 @@ interface TestFixture {
|
|
|
8
8
|
url: string
|
|
9
9
|
server: any
|
|
10
10
|
axios: typeof defaultAxios
|
|
11
|
+
jane_axios: typeof defaultAxios
|
|
11
12
|
unauthenticatedAxios: typeof defaultAxios
|
|
12
13
|
db: DbClient
|
|
13
14
|
seed: ReturnType<typeof seedDatabase>
|
|
@@ -31,6 +32,12 @@ export const getTestServer = async (): Promise<TestFixture> => {
|
|
|
31
32
|
Authorization: `Bearer ${seed.account.account_id}`,
|
|
32
33
|
},
|
|
33
34
|
})
|
|
35
|
+
const jane_axios = defaultAxios.create({
|
|
36
|
+
baseURL: url,
|
|
37
|
+
headers: {
|
|
38
|
+
Authorization: `Bearer ${seed.account2.account_id}`,
|
|
39
|
+
},
|
|
40
|
+
})
|
|
34
41
|
const unauthenticatedAxios = defaultAxios.create({
|
|
35
42
|
baseURL: url,
|
|
36
43
|
})
|
|
@@ -45,6 +52,7 @@ export const getTestServer = async (): Promise<TestFixture> => {
|
|
|
45
52
|
url,
|
|
46
53
|
server,
|
|
47
54
|
axios,
|
|
55
|
+
jane_axios,
|
|
48
56
|
unauthenticatedAxios,
|
|
49
57
|
db,
|
|
50
58
|
seed,
|
|
@@ -67,6 +75,9 @@ const seedDatabase = (db: DbClient) => {
|
|
|
67
75
|
phone: "555-123-4567",
|
|
68
76
|
},
|
|
69
77
|
})
|
|
78
|
+
const account2 = db.addAccount({
|
|
79
|
+
github_username: "jane",
|
|
80
|
+
})
|
|
70
81
|
const order = db.addOrder({
|
|
71
82
|
account_id: account.account_id,
|
|
72
83
|
is_running: false,
|
|
@@ -88,5 +99,5 @@ const seedDatabase = (db: DbClient) => {
|
|
|
88
99
|
completed_at: null,
|
|
89
100
|
})
|
|
90
101
|
|
|
91
|
-
return { account, order }
|
|
102
|
+
return { account, order, account2 }
|
|
92
103
|
}
|
|
@@ -4,11 +4,7 @@ import { test, expect } from "bun:test"
|
|
|
4
4
|
test("get account balance", async () => {
|
|
5
5
|
const { axios } = await getTestServer()
|
|
6
6
|
|
|
7
|
-
const response = await axios.get("/api/accounts/get_account_balance"
|
|
8
|
-
headers: {
|
|
9
|
-
Authorization: "Bearer 1234",
|
|
10
|
-
},
|
|
11
|
-
})
|
|
7
|
+
const response = await axios.get("/api/accounts/get_account_balance")
|
|
12
8
|
|
|
13
9
|
expect(response.status).toBe(200)
|
|
14
10
|
expect(response.data.account_balance).toBeDefined()
|
|
@@ -15,14 +15,14 @@ test("list orders", async () => {
|
|
|
15
15
|
|
|
16
16
|
expect(response.status).toBe(200)
|
|
17
17
|
expect(response.data.orders).toBeDefined()
|
|
18
|
-
expect(response.data.orders).toHaveLength(
|
|
18
|
+
expect(response.data.orders).toHaveLength(2)
|
|
19
19
|
expect(response.data.orders[0].circuit_json).toEqual(order.circuit_json)
|
|
20
20
|
})
|
|
21
21
|
|
|
22
22
|
test("list orders with empty result", async () => {
|
|
23
|
-
const {
|
|
23
|
+
const { jane_axios } = await getTestServer()
|
|
24
24
|
|
|
25
|
-
const response = await
|
|
25
|
+
const response = await jane_axios.get("/api/orders/list")
|
|
26
26
|
|
|
27
27
|
expect(response.status).toBe(200)
|
|
28
28
|
expect(response.data.orders).toBeDefined()
|
|
@@ -5,18 +5,10 @@ test("create package file with content_text", async () => {
|
|
|
5
5
|
const { axios } = await getTestServer()
|
|
6
6
|
|
|
7
7
|
// First create a package
|
|
8
|
-
const packageResponse = await axios.post(
|
|
9
|
-
"/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
description: "A test package for creating files",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
headers: {
|
|
16
|
-
Authorization: "Bearer 1234",
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
)
|
|
8
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
9
|
+
name: "@test/package-files-create",
|
|
10
|
+
description: "A test package for creating files",
|
|
11
|
+
})
|
|
20
12
|
expect(packageResponse.status).toBe(200)
|
|
21
13
|
const createdPackage = packageResponse.data.package
|
|
22
14
|
|
|
@@ -60,18 +52,10 @@ test("create package file with content_base64", async () => {
|
|
|
60
52
|
const { axios } = await getTestServer()
|
|
61
53
|
|
|
62
54
|
// First create a package
|
|
63
|
-
const packageResponse = await axios.post(
|
|
64
|
-
"/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
description: "A test package for creating files with base64",
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
headers: {
|
|
71
|
-
Authorization: "Bearer 1234",
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
)
|
|
55
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
56
|
+
name: "@test/package-files-create-base64",
|
|
57
|
+
description: "A test package for creating files with base64",
|
|
58
|
+
})
|
|
75
59
|
expect(packageResponse.status).toBe(200)
|
|
76
60
|
const createdPackage = packageResponse.data.package
|
|
77
61
|
|
|
@@ -115,18 +99,10 @@ test("create package file using package_name_with_version", async () => {
|
|
|
115
99
|
// First create a package
|
|
116
100
|
const packageName = "@test/package-files-create-by-name"
|
|
117
101
|
const version = "2.0.0"
|
|
118
|
-
const packageResponse = await axios.post(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
description: "A test package for creating files by name",
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
headers: {
|
|
126
|
-
Authorization: "Bearer 1234",
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
)
|
|
102
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
103
|
+
name: packageName,
|
|
104
|
+
description: "A test package for creating files by name",
|
|
105
|
+
})
|
|
130
106
|
expect(packageResponse.status).toBe(200)
|
|
131
107
|
const createdPackage = packageResponse.data.package
|
|
132
108
|
|
|
@@ -206,18 +182,10 @@ test("create package file - 400 for missing content", async () => {
|
|
|
206
182
|
const { axios } = await getTestServer()
|
|
207
183
|
|
|
208
184
|
// First create a package and release
|
|
209
|
-
const packageResponse = await axios.post(
|
|
210
|
-
"/
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
description: "A test package for error cases",
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
headers: {
|
|
217
|
-
Authorization: "Bearer 1234",
|
|
218
|
-
},
|
|
219
|
-
},
|
|
220
|
-
)
|
|
185
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
186
|
+
name: "@test/package-files-create-error",
|
|
187
|
+
description: "A test package for error cases",
|
|
188
|
+
})
|
|
221
189
|
const createdPackage = packageResponse.data.package
|
|
222
190
|
|
|
223
191
|
const releaseResponse = await axios.post("/api/package_releases/create", {
|
|
@@ -243,18 +211,10 @@ test("create package file - 400 for both content_text and content_base64", async
|
|
|
243
211
|
const { axios } = await getTestServer()
|
|
244
212
|
|
|
245
213
|
// First create a package and release
|
|
246
|
-
const packageResponse = await axios.post(
|
|
247
|
-
"/
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
description: "Another test package for error cases",
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
headers: {
|
|
254
|
-
Authorization: "Bearer 1234",
|
|
255
|
-
},
|
|
256
|
-
},
|
|
257
|
-
)
|
|
214
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
215
|
+
name: "@test/package-files-create-error-2",
|
|
216
|
+
description: "Another test package for error cases",
|
|
217
|
+
})
|
|
258
218
|
const createdPackage = packageResponse.data.package
|
|
259
219
|
|
|
260
220
|
const releaseResponse = await axios.post("/api/package_releases/create", {
|
|
@@ -281,18 +241,10 @@ test("create release tarball package file", async () => {
|
|
|
281
241
|
const { axios } = await getTestServer()
|
|
282
242
|
|
|
283
243
|
// First create a package
|
|
284
|
-
const packageResponse = await axios.post(
|
|
285
|
-
"/
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
description: "A test package for creating tarball files",
|
|
289
|
-
},
|
|
290
|
-
{
|
|
291
|
-
headers: {
|
|
292
|
-
Authorization: "Bearer 1234",
|
|
293
|
-
},
|
|
294
|
-
},
|
|
295
|
-
)
|
|
244
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
245
|
+
name: "@test/package-files-create-tarball",
|
|
246
|
+
description: "A test package for creating tarball files",
|
|
247
|
+
})
|
|
296
248
|
expect(packageResponse.status).toBe(200)
|
|
297
249
|
const createdPackage = packageResponse.data.package
|
|
298
250
|
|
|
@@ -335,18 +287,10 @@ test("create package file - 400 for release tarball without npm_pack_output", as
|
|
|
335
287
|
const { axios } = await getTestServer()
|
|
336
288
|
|
|
337
289
|
// First create a package and release
|
|
338
|
-
const packageResponse = await axios.post(
|
|
339
|
-
"/
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
description: "Test package for tarball error cases",
|
|
343
|
-
},
|
|
344
|
-
{
|
|
345
|
-
headers: {
|
|
346
|
-
Authorization: "Bearer 1234",
|
|
347
|
-
},
|
|
348
|
-
},
|
|
349
|
-
)
|
|
290
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
291
|
+
name: "@test/package-files-create-tarball-error",
|
|
292
|
+
description: "Test package for tarball error cases",
|
|
293
|
+
})
|
|
350
294
|
const createdPackage = packageResponse.data.package
|
|
351
295
|
|
|
352
296
|
const releaseResponse = await axios.post("/api/package_releases/create", {
|
|
@@ -5,18 +5,10 @@ test("create package release", async () => {
|
|
|
5
5
|
const { axios } = await getTestServer()
|
|
6
6
|
|
|
7
7
|
// First create a package
|
|
8
|
-
const packageResponse = await axios.post(
|
|
9
|
-
"/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
description: "Test Description",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
headers: {
|
|
16
|
-
Authorization: "Bearer 1234",
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
)
|
|
8
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
9
|
+
name: "testuser/test-package",
|
|
10
|
+
description: "Test Description",
|
|
11
|
+
})
|
|
20
12
|
expect(packageResponse.status).toBe(200)
|
|
21
13
|
const createdPackage = packageResponse.data.package
|
|
22
14
|
|
|
@@ -42,18 +34,10 @@ test("create package release using package_name_with_version", async () => {
|
|
|
42
34
|
const { axios } = await getTestServer()
|
|
43
35
|
|
|
44
36
|
// First create a package
|
|
45
|
-
const packageResponse = await axios.post(
|
|
46
|
-
"/
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
description: "Test Description",
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
headers: {
|
|
53
|
-
Authorization: "Bearer 1234",
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
)
|
|
37
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
38
|
+
name: "testuser/test-package-2",
|
|
39
|
+
description: "Test Description",
|
|
40
|
+
})
|
|
57
41
|
expect(packageResponse.status).toBe(200)
|
|
58
42
|
const createdPackage = packageResponse.data.package
|
|
59
43
|
|
|
@@ -76,18 +60,10 @@ test("create package release - version already exists", async () => {
|
|
|
76
60
|
const { axios } = await getTestServer()
|
|
77
61
|
|
|
78
62
|
// First create a package
|
|
79
|
-
const packageResponse = await axios.post(
|
|
80
|
-
"/
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
description: "Test Description",
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
headers: {
|
|
87
|
-
Authorization: "Bearer 1234",
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
)
|
|
63
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
64
|
+
name: "testuser/test-package-3",
|
|
65
|
+
description: "Test Description",
|
|
66
|
+
})
|
|
91
67
|
expect(packageResponse.status).toBe(200)
|
|
92
68
|
const createdPackage = packageResponse.data.package
|
|
93
69
|
|
|
@@ -5,18 +5,10 @@ test("list package releases", async () => {
|
|
|
5
5
|
const { axios, db } = await getTestServer()
|
|
6
6
|
|
|
7
7
|
// First create a test package
|
|
8
|
-
const packageResponse = await axios.post(
|
|
9
|
-
"/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
description: "Test Description",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
headers: {
|
|
16
|
-
Authorization: "Bearer 1234",
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
)
|
|
8
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
9
|
+
name: "testuser/test-package",
|
|
10
|
+
description: "Test Description",
|
|
11
|
+
})
|
|
20
12
|
const packageId = packageResponse.data.package.package_id
|
|
21
13
|
|
|
22
14
|
// Add some test package releases
|
|
@@ -5,18 +5,10 @@ test("update package release", async () => {
|
|
|
5
5
|
const { axios, db } = await getTestServer()
|
|
6
6
|
|
|
7
7
|
// First create a package
|
|
8
|
-
const packageResponse = await axios.post(
|
|
9
|
-
"/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
description: "Test Description",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
headers: {
|
|
16
|
-
Authorization: "Bearer 1234",
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
)
|
|
8
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
9
|
+
name: "testuser/test-package",
|
|
10
|
+
description: "Test Description",
|
|
11
|
+
})
|
|
20
12
|
const packageId = packageResponse.data.package.package_id
|
|
21
13
|
|
|
22
14
|
// Create a package release
|
|
@@ -49,18 +41,10 @@ test("update package release using package_name_with_version", async () => {
|
|
|
49
41
|
const { axios, db } = await getTestServer()
|
|
50
42
|
|
|
51
43
|
// First create a package
|
|
52
|
-
const packageResponse = await axios.post(
|
|
53
|
-
"/
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
description: "Test Description",
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
headers: {
|
|
60
|
-
Authorization: "Bearer 1234",
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
)
|
|
44
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
45
|
+
name: "testuser/test-package-2",
|
|
46
|
+
description: "Test Description",
|
|
47
|
+
})
|
|
64
48
|
const packageName = packageResponse.data.package.name
|
|
65
49
|
const version = "2.0.0"
|
|
66
50
|
|
|
@@ -89,18 +73,10 @@ test("update package release - handle is_latest flag", async () => {
|
|
|
89
73
|
const { axios, db } = await getTestServer()
|
|
90
74
|
|
|
91
75
|
// Create a package
|
|
92
|
-
const packageResponse = await axios.post(
|
|
93
|
-
"/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
description: "Test Description",
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
headers: {
|
|
100
|
-
Authorization: "Bearer 1234",
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
)
|
|
76
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
77
|
+
name: "testuser/test-package-3",
|
|
78
|
+
description: "Test Description",
|
|
79
|
+
})
|
|
104
80
|
const packageId = packageResponse.data.package.package_id
|
|
105
81
|
|
|
106
82
|
// Create two releases
|
|
@@ -158,18 +134,10 @@ test("update package release - no fields provided", async () => {
|
|
|
158
134
|
const { axios } = await getTestServer()
|
|
159
135
|
|
|
160
136
|
// Create a package and release first
|
|
161
|
-
const packageResponse = await axios.post(
|
|
162
|
-
"/
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
description: "Test Description",
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
headers: {
|
|
169
|
-
Authorization: "Bearer 1234",
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
)
|
|
137
|
+
const packageResponse = await axios.post("/api/packages/create", {
|
|
138
|
+
name: "testuser/test-package-4",
|
|
139
|
+
description: "Test Description",
|
|
140
|
+
})
|
|
173
141
|
const releaseResponse = await axios.post("/api/package_releases/create", {
|
|
174
142
|
package_id: packageResponse.data.package.package_id,
|
|
175
143
|
version: "1.0.0",
|
|
@@ -70,17 +70,9 @@ test("add star to non-existent package", async () => {
|
|
|
70
70
|
const { axios } = await getTestServer()
|
|
71
71
|
|
|
72
72
|
try {
|
|
73
|
-
await axios.post(
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
package_id: "non-existent-id",
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
headers: {
|
|
80
|
-
Authorization: "Bearer 1234",
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
)
|
|
73
|
+
await axios.post("/api/packages/add_star", {
|
|
74
|
+
package_id: "non-existent-id",
|
|
75
|
+
})
|
|
84
76
|
expect(true).toBe(false) // Should not reach here
|
|
85
77
|
} catch (error: any) {
|
|
86
78
|
expect(error.status).toBe(404)
|
|
@@ -92,17 +84,9 @@ test("add star to non-existent package by name", async () => {
|
|
|
92
84
|
const { axios } = await getTestServer()
|
|
93
85
|
|
|
94
86
|
try {
|
|
95
|
-
await axios.post(
|
|
96
|
-
"
|
|
97
|
-
|
|
98
|
-
name: "non-existent-package",
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
headers: {
|
|
102
|
-
Authorization: "Bearer 1234",
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
)
|
|
87
|
+
await axios.post("/api/packages/add_star", {
|
|
88
|
+
name: "non-existent-package",
|
|
89
|
+
})
|
|
106
90
|
expect(true).toBe(false) // Should not reach here
|
|
107
91
|
} catch (error: any) {
|
|
108
92
|
expect(error.status).toBe(404)
|
|
@@ -126,31 +110,15 @@ test("add star to already starred package", async () => {
|
|
|
126
110
|
const createdPackage = createResponse.data.package
|
|
127
111
|
|
|
128
112
|
// Star the package first time
|
|
129
|
-
await axios.post(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
package_id: createdPackage.package_id,
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
headers: {
|
|
136
|
-
Authorization: "Bearer 1234",
|
|
137
|
-
},
|
|
138
|
-
},
|
|
139
|
-
)
|
|
113
|
+
await axios.post("/api/packages/add_star", {
|
|
114
|
+
package_id: createdPackage.package_id,
|
|
115
|
+
})
|
|
140
116
|
|
|
141
117
|
// Try to star again
|
|
142
118
|
try {
|
|
143
|
-
await axios.post(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
package_id: createdPackage.package_id,
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
headers: {
|
|
150
|
-
Authorization: "Bearer 1234",
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
|
-
)
|
|
119
|
+
await axios.post("/api/packages/add_star", {
|
|
120
|
+
package_id: createdPackage.package_id,
|
|
121
|
+
})
|
|
154
122
|
expect(true).toBe(false) // Should not reach here
|
|
155
123
|
} catch (error: any) {
|
|
156
124
|
expect(error.status).toBe(400)
|
|
@@ -4,18 +4,10 @@ import { test, expect } from "bun:test"
|
|
|
4
4
|
test("create package", async () => {
|
|
5
5
|
const { axios } = await getTestServer()
|
|
6
6
|
|
|
7
|
-
const response = await axios.post(
|
|
8
|
-
"/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
description: "Test Description",
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
headers: {
|
|
15
|
-
Authorization: "Bearer 1234",
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
)
|
|
7
|
+
const response = await axios.post("/api/packages/create", {
|
|
8
|
+
name: "testuser/TestPackage",
|
|
9
|
+
description: "Test Description",
|
|
10
|
+
})
|
|
19
11
|
|
|
20
12
|
expect(response.status).toBe(200)
|
|
21
13
|
expect(response.data.package.name).toBe("testuser/TestPackage")
|
|
@@ -5,33 +5,23 @@ test("delete package", async () => {
|
|
|
5
5
|
const { axios, db } = await getTestServer()
|
|
6
6
|
|
|
7
7
|
// Add a test package
|
|
8
|
-
const
|
|
9
|
-
name: "test-package",
|
|
10
|
-
owner_org_id: "org-1234", // Changed to match the default auth context's personal_org_id
|
|
11
|
-
created_at: "2023-01-01T00:00:00Z",
|
|
12
|
-
updated_at: "2023-01-01T00:00:00Z",
|
|
8
|
+
const createdPackage = await axios.post("/api/packages/create", {
|
|
9
|
+
name: "testuser/test-package",
|
|
13
10
|
description: "Test Description",
|
|
14
|
-
}
|
|
15
|
-
const addedPackage: any = db.addPackage(pkg as any)
|
|
11
|
+
})
|
|
16
12
|
|
|
17
13
|
// Delete the package
|
|
18
|
-
const response = await axios.post(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
package_id: addedPackage.package_id,
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
headers: {
|
|
25
|
-
Authorization: "Bearer 1234",
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
)
|
|
14
|
+
const response = await axios.post("/api/packages/delete", {
|
|
15
|
+
package_id: createdPackage.data.package.package_id,
|
|
16
|
+
})
|
|
29
17
|
|
|
30
18
|
expect(response.status).toBe(200)
|
|
31
19
|
expect(response.data.ok).toBe(true)
|
|
32
20
|
|
|
33
21
|
// Verify the package was deleted from the database
|
|
34
|
-
const deletedPackage = db.getPackageById(
|
|
22
|
+
const deletedPackage = db.getPackageById(
|
|
23
|
+
createdPackage.data.package.package_id,
|
|
24
|
+
)
|
|
35
25
|
expect(deletedPackage).toBeUndefined()
|
|
36
26
|
|
|
37
27
|
// List all the packages and verify the deleted package is not in the list
|
|
@@ -45,17 +35,9 @@ test("delete non-existent package", async () => {
|
|
|
45
35
|
const { axios } = await getTestServer()
|
|
46
36
|
|
|
47
37
|
try {
|
|
48
|
-
await axios.post(
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
package_id: "non-existent-id",
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
headers: {
|
|
55
|
-
Authorization: "Bearer 1234",
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
)
|
|
38
|
+
await axios.post("/api/packages/delete", {
|
|
39
|
+
package_id: "non-existent-id",
|
|
40
|
+
})
|
|
59
41
|
// If the request doesn't throw an error, fail the test
|
|
60
42
|
expect(true).toBe(false)
|
|
61
43
|
} catch (error: any) {
|
|
@@ -78,17 +60,9 @@ test("delete package without permission", async () => {
|
|
|
78
60
|
const addedPackage: any = db.addPackage(pkg as any)
|
|
79
61
|
|
|
80
62
|
try {
|
|
81
|
-
await axios.post(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
package_id: addedPackage.package_id,
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
headers: {
|
|
88
|
-
Authorization: "Bearer 1234",
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
)
|
|
63
|
+
await axios.post("/api/packages/delete", {
|
|
64
|
+
package_id: addedPackage.package_id,
|
|
65
|
+
})
|
|
92
66
|
// If the request doesn't throw an error, fail the test
|
|
93
67
|
expect(true).toBe(false)
|
|
94
68
|
} catch (error: any) {
|
|
@@ -106,10 +106,6 @@ test("list packages", async () => {
|
|
|
106
106
|
expect(nonExistentData.packages).toHaveLength(0)
|
|
107
107
|
|
|
108
108
|
// Test with authenticated request
|
|
109
|
-
const { data: authData } = await axios.get("/api/packages/list"
|
|
110
|
-
headers: {
|
|
111
|
-
Authorization: "Bearer 1234",
|
|
112
|
-
},
|
|
113
|
-
})
|
|
109
|
+
const { data: authData } = await axios.get("/api/packages/list")
|
|
114
110
|
expect(authData.packages).toHaveLength(3) // Should return all packages when authenticated
|
|
115
111
|
})
|