Skip to content

Commit 7f9c70d

Browse files
committed
✅ test node and bun
1 parent 91cf1ab commit 7f9c70d

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

.github/workflows/test.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,16 @@ jobs:
3535
node-version: 22
3636
cache: 'pnpm'
3737
cache-dependency-path: 'test/frontend/pnpm-lock.yaml'
38+
- name: Install bun
39+
uses: oven-sh/setup-bun@v2
3840
- name: Install JS dependencies
3941
run: pnpm install
4042
working-directory: test/frontend
41-
- name: Install Python dependencies
42-
run: uv sync
4343
- name: Build frontend
4444
run: pnpm run build
4545
working-directory: test/frontend
46+
- name: Install Python dependencies
47+
run: uv sync
4648
- name: Collect static files
4749
run: python manage.py collectstatic --noinput
4850
- name: Run tests

test/conftest.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ class VueSSRServer:
7474
def __init__(
7575
self,
7676
manifest: str,
77+
command: list[str],
7778
cwd=settings.FRONTEND_DIR,
7879
port=22634,
7980
socket: str | None = None,
@@ -82,18 +83,19 @@ def __init__(
8283
self.cwd = cwd
8384
self.port = str(port)
8485
self.socket = socket
86+
self.command = command
8587

8688
def start(self):
8789
"""
8890
Start the Vite dev server.
8991
"""
9092

91-
args = ["pnpm", "exec", "vue-ssr-service"]
93+
args = list(self.command)
9294

9395
if self.socket:
9496
args += ["--socket", self.socket]
9597
else:
96-
args += ["--port", self.port, "--host", "localhost"]
98+
args += ["--port", self.port]
9799

98100
args += [self.manifest]
99101

@@ -105,7 +107,8 @@ def start(self):
105107

106108
while True:
107109
line = self.process.stdout.readline()
108-
print(line)
110+
if line:
111+
print(line)
109112
if b"Server running" in line:
110113
print("Vue SSR server started")
111114
break
@@ -130,25 +133,33 @@ def vite_dev_server():
130133
server.stop()
131134

132135

133-
@pytest.fixture()
134-
def vue_ssr_server():
136+
COMMANDS = [["pnpm", "exec", "vue-ssr-service"], ["bun", "run", "vue-ssr-service"]]
137+
138+
139+
@pytest.fixture(params=COMMANDS)
140+
def vue_ssr_server(request):
135141
"""
136142
Fixture to start and stop the Vue SSR server.
137143
"""
138-
server = VueSSRServer(settings.FRONTEND_DIR / "dist" / "server" / "manifest.json")
144+
server = VueSSRServer(
145+
str(settings.FRONTEND_DIR / "dist" / "server" / "manifest.json"),
146+
command=request.param,
147+
)
139148
server.start()
140149
yield server
141150
server.stop()
142151

143152

144-
@pytest.fixture()
145-
def vue_ssr_socket_server():
153+
@pytest.fixture(params=COMMANDS)
154+
def vue_ssr_socket_server(request):
146155
"""
147156
Fixture to start and stop the Vue SSR server with a socket.
148157
"""
149-
socket = str(Path("foo.sock").resolve())
158+
socket = str(Path("test-socket.sock").resolve())
150159
server = VueSSRServer(
151-
settings.FRONTEND_DIR / "dist" / "server" / "manifest.json", socket=socket
160+
str(settings.FRONTEND_DIR / "dist" / "server" / "manifest.json"),
161+
command=request.param,
162+
socket=socket,
152163
)
153164
server.start()
154165
yield server

0 commit comments

Comments
 (0)