@tscircuit/fake-snippets 0.0.117 → 0.0.118
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/bun-tests/fake-snippets-api/routes/orgs/get_member.test.ts +110 -0
- package/bun-tests/fake-snippets-api/routes/orgs/list_members.test.ts +4 -3
- package/bun.lock +2 -2
- package/dist/bundle.js +462 -370
- package/dist/index.js +5 -4
- package/dist/schema.d.ts +12 -1
- package/dist/schema.js +7 -5
- package/fake-snippets-api/lib/db/schema.ts +7 -6
- package/fake-snippets-api/routes/api/orgs/get_member.ts +67 -0
- package/fake-snippets-api/routes/api/orgs/list_members.ts +40 -4
- package/package.json +2 -2
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { getTestServer } from "bun-tests/fake-snippets-api/fixtures/get-test-server"
|
|
2
|
+
import { expect, test } from "bun:test"
|
|
3
|
+
|
|
4
|
+
test("GET /api/orgs/get_member - should return member by org_id and account_id", async () => {
|
|
5
|
+
const { jane_axios, seed } = await getTestServer()
|
|
6
|
+
|
|
7
|
+
await jane_axios.post("/api/orgs/add_member", {
|
|
8
|
+
org_id: seed.organization.org_id,
|
|
9
|
+
account_id: seed.account.account_id,
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
const getResponse = await jane_axios.get("/api/orgs/get_member", {
|
|
13
|
+
params: {
|
|
14
|
+
org_id: seed.organization.org_id,
|
|
15
|
+
account_id: seed.account.account_id,
|
|
16
|
+
},
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
expect(getResponse.status).toBe(200)
|
|
20
|
+
const responseBody = getResponse.data
|
|
21
|
+
expect(responseBody.org_member).toBeDefined()
|
|
22
|
+
expect(responseBody.org_member.account_id).toBe(seed.account.account_id)
|
|
23
|
+
expect(responseBody.org_member.org_id).toBe(seed.organization.org_id)
|
|
24
|
+
expect(responseBody.org_member.created_at).toBeDefined()
|
|
25
|
+
expect(
|
|
26
|
+
responseBody.org_member.org_member_permissions.can_manage_org,
|
|
27
|
+
).toBeDefined()
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
test("GET /api/orgs/get_member - should return member by org_name and account_id", async () => {
|
|
31
|
+
const { jane_axios, seed } = await getTestServer()
|
|
32
|
+
|
|
33
|
+
await jane_axios.post("/api/orgs/add_member", {
|
|
34
|
+
org_id: seed.organization.org_id,
|
|
35
|
+
account_id: seed.account.account_id,
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
const getResponse = await jane_axios.get("/api/orgs/get_member", {
|
|
39
|
+
params: {
|
|
40
|
+
org_name: seed.organization.org_name,
|
|
41
|
+
account_id: seed.account.account_id,
|
|
42
|
+
},
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
expect(getResponse.status).toBe(200)
|
|
46
|
+
const responseBody = getResponse.data
|
|
47
|
+
expect(responseBody.org_member).toBeDefined()
|
|
48
|
+
expect(responseBody.org_member.account_id).toBe(seed.account.account_id)
|
|
49
|
+
expect(responseBody.org_member.org_id).toBe(seed.organization.org_id)
|
|
50
|
+
expect(responseBody.org_member.created_at).toBeDefined()
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
test("GET /api/orgs/get_member - should return 404 if org not found", async () => {
|
|
54
|
+
const { jane_axios, seed } = await getTestServer()
|
|
55
|
+
|
|
56
|
+
try {
|
|
57
|
+
await jane_axios.get("/api/orgs/get_member", {
|
|
58
|
+
params: {
|
|
59
|
+
org_id: "non_existent_org_id",
|
|
60
|
+
account_id: seed.account.account_id,
|
|
61
|
+
},
|
|
62
|
+
})
|
|
63
|
+
throw new Error("Expected request to fail")
|
|
64
|
+
} catch (error: any) {
|
|
65
|
+
expect(error.status).toBe(404)
|
|
66
|
+
expect(error.data.error.error_code).toBe("org_not_found")
|
|
67
|
+
expect(error.data.error.message).toBe("Organization not found")
|
|
68
|
+
}
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
test("GET /api/orgs/get_member - should return 404 if member not found in org", async () => {
|
|
72
|
+
const { jane_axios, seed } = await getTestServer()
|
|
73
|
+
|
|
74
|
+
try {
|
|
75
|
+
await jane_axios.get("/api/orgs/get_member", {
|
|
76
|
+
params: {
|
|
77
|
+
org_id: seed.organization.org_id,
|
|
78
|
+
account_id: "non_existent_account_id",
|
|
79
|
+
},
|
|
80
|
+
})
|
|
81
|
+
throw new Error("Expected request to fail")
|
|
82
|
+
} catch (error: any) {
|
|
83
|
+
expect(error.status).toBe(404)
|
|
84
|
+
expect(error.data.error.error_code).toBe("member_not_found")
|
|
85
|
+
expect(error.data.error.message).toBe("Member not found in organization")
|
|
86
|
+
}
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
test("GET /api/orgs/get_member - should return member with all required fields", async () => {
|
|
90
|
+
const { jane_axios, seed } = await getTestServer()
|
|
91
|
+
|
|
92
|
+
await jane_axios.post("/api/orgs/add_member", {
|
|
93
|
+
org_id: seed.organization.org_id,
|
|
94
|
+
account_id: seed.account.account_id,
|
|
95
|
+
})
|
|
96
|
+
|
|
97
|
+
const getResponse = await jane_axios.get("/api/orgs/get_member", {
|
|
98
|
+
params: {
|
|
99
|
+
org_id: seed.organization.org_id,
|
|
100
|
+
account_id: seed.account.account_id,
|
|
101
|
+
},
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
expect(getResponse.status).toBe(200)
|
|
105
|
+
const { org_member } = getResponse.data
|
|
106
|
+
expect(org_member.account_id).toBe(seed.account.account_id)
|
|
107
|
+
expect(org_member.org_id).toBe(seed.organization.org_id)
|
|
108
|
+
expect(org_member.created_at).toBeDefined()
|
|
109
|
+
expect(typeof org_member.created_at).toBe("string")
|
|
110
|
+
})
|
|
@@ -10,14 +10,15 @@ test("GET /orgs/list_members returns members for an org when owner", async () =>
|
|
|
10
10
|
})
|
|
11
11
|
|
|
12
12
|
const {
|
|
13
|
-
data: {
|
|
13
|
+
data: { org_members },
|
|
14
14
|
} = await jane_axios.get(
|
|
15
15
|
`/api/orgs/list_members?org_id=${seed.organization.org_id}`,
|
|
16
16
|
)
|
|
17
|
-
expect(Array.isArray(
|
|
18
|
-
const membership =
|
|
17
|
+
expect(Array.isArray(org_members)).toBe(true)
|
|
18
|
+
const membership = org_members.find(
|
|
19
19
|
(m: any) => m.account_id === seed.account.account_id,
|
|
20
20
|
)
|
|
21
21
|
expect(membership).toBeDefined()
|
|
22
22
|
expect(membership.joined_at).toBeDefined()
|
|
23
|
+
expect(membership.org_member_permissions).toBeDefined()
|
|
23
24
|
})
|
package/bun.lock
CHANGED
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@tscircuit/3d-viewer": "^0.0.407",
|
|
52
52
|
"@tscircuit/assembly-viewer": "^0.0.5",
|
|
53
53
|
"@tscircuit/create-snippet-url": "^0.0.8",
|
|
54
|
-
"@tscircuit/eval": "^0.0.
|
|
54
|
+
"@tscircuit/eval": "^0.0.410",
|
|
55
55
|
"@tscircuit/layout": "^0.0.29",
|
|
56
56
|
"@tscircuit/mm": "^0.0.8",
|
|
57
57
|
"@tscircuit/pcb-viewer": "^1.11.218",
|
|
@@ -765,7 +765,7 @@
|
|
|
765
765
|
|
|
766
766
|
"@tscircuit/create-snippet-url": ["@tscircuit/create-snippet-url@0.0.8", "", { "dependencies": { "fflate": "^0.8.2" }, "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-VMixgwQRsOXlQGwVh2RZIFLLtsn8YWl2Bht61T26MHNM71A1Wzo5qGZtqcdbVkFnvlA42KmdVVjvxYDvEyWdJw=="],
|
|
767
767
|
|
|
768
|
-
"@tscircuit/eval": ["@tscircuit/eval@0.0.
|
|
768
|
+
"@tscircuit/eval": ["@tscircuit/eval@0.0.410", "", { "peerDependencies": { "@tscircuit/core": "*", "circuit-json": "*", "typescript": "^5.0.0", "zod": "3" } }, "sha512-QdNohZfhqB11ADVnTicPrEde50dcgZ5lI+OyxatpbebsE9GwgUtn8KJpAauwpR3/F5gKoPqugFJPCPuwK+ZNAg=="],
|
|
769
769
|
|
|
770
770
|
"@tscircuit/featured-snippets": ["@tscircuit/featured-snippets@0.0.1", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-SNUbCQmyaAaWq7DqqDbYlZkYttbfaObtp5rOheZvlJ2TGYvooECFpB8SzNo06bqKGoIwNjgaAGUTB2DcxdX7ow=="],
|
|
771
771
|
|