|
1 | 1 | import { getTestServer } from "bun-tests/fake-snippets-api/fixtures/get-test-server" |
2 | 2 | import { test, expect } from "bun:test" |
3 | 3 |
|
4 | | -test("create order_quote with only circuit_json (✅)", async () => { |
5 | | - const { |
6 | | - axios, |
7 | | - seed: { order }, |
8 | | - } = await getTestServer() |
9 | | - |
10 | | - const response = await axios.post("/api/order_quotes/create", { |
11 | | - vendor_name: "jlcpcb", |
12 | | - circuit_json: order.circuit_json, |
13 | | - }) |
| 4 | +test("create order_quote with only package_release_id (✅)", async () => { |
| 5 | + const { axios, jane_axios } = await getTestServer() |
14 | 6 |
|
15 | | - expect(response.status).toBe(200) |
16 | | - expect(response.data.order_quote_id).toBeDefined() |
17 | | -}) |
| 7 | + const pkg = await jane_axios |
| 8 | + .post("/api/packages/create", { |
| 9 | + name: "jane/test-package", |
| 10 | + }) |
| 11 | + .then((res) => res.data.package) |
18 | 12 |
|
19 | | -test("create order_quote with only package_release_id (✅)", async () => { |
20 | | - const { |
21 | | - axios, |
22 | | - seed: { packageRelease }, |
23 | | - } = await getTestServer() |
| 13 | + const packageRelease = await jane_axios |
| 14 | + .post("/api/package_releases/create", { |
| 15 | + package_id: pkg.package_id, |
| 16 | + version: "1.0.0", |
| 17 | + is_latest: true, |
| 18 | + }) |
| 19 | + .then((res) => res.data.package_release) |
24 | 20 |
|
| 21 | + await jane_axios.post(`/api/package_files/create`, { |
| 22 | + package_release_id: packageRelease.package_release_id, |
| 23 | + file_path: "/dist/index.js", |
| 24 | + content_text: "console.log('Hello, world!');", |
| 25 | + }) |
25 | 26 | const response = await axios.post("/api/order_quotes/create", { |
26 | 27 | vendor_name: "jlcpcb", |
27 | | - package_release_id: packageRelease!.package_release_id, |
| 28 | + package_release_id: packageRelease.package_release_id, |
28 | 29 | }) |
29 | 30 |
|
30 | 31 | expect(response.status).toBe(200) |
31 | 32 | expect(response.data.order_quote_id).toBeDefined() |
32 | 33 | }) |
33 | | - |
34 | | -test("create order_quote with both circuit_json and package_release_id (✅)", async () => { |
35 | | - const { |
36 | | - axios, |
37 | | - seed: { order, packageRelease }, |
38 | | - } = await getTestServer() |
39 | | - |
40 | | - const response = await axios |
41 | | - .post("/api/order_quotes/create", { |
42 | | - vendor_name: "jlcpcb", |
43 | | - circuit_json: order.circuit_json, |
44 | | - package_release_id: packageRelease!.package_release_id, |
45 | | - }) |
46 | | - .catch((error) => error) // Capture response even on error |
47 | | - |
48 | | - // Expecting backend to fail with 400 |
49 | | - expect(response?.status).toBe(400) |
50 | | - expect(response?.data.message).toContain( |
51 | | - "You must provide either circuit_json or package_release_id, but not both.", |
52 | | - ) |
53 | | -}) |
54 | | - |
55 | | -test("create order_quote with neither circuit_json nor package_release_id (✅)", async () => { |
56 | | - const { axios } = await getTestServer() |
57 | | - |
58 | | - const response = await axios |
59 | | - .post("/api/order_quotes/create", { |
60 | | - vendor_name: "jlcpcb", |
61 | | - }) |
62 | | - .catch((error) => error) // Capture response even on error |
63 | | - |
64 | | - // Expecting backend to fail with 400 |
65 | | - expect(response?.status).toBe(400) |
66 | | - expect(response?.data.message).toContain( |
67 | | - "You must provide either circuit_json or package_release_id.", |
68 | | - ) |
69 | | -}) |
0 commit comments