Skip to content

Commit 341791f

Browse files
authored
Merge pull request #2162 from Northeastern-Electric-Racing/#2161-Enhance-Testing
#2161 Add Database to Script
2 parents 15fee31 + 2633a0f commit 341791f

3 files changed

Lines changed: 20 additions & 8 deletions

File tree

.github/workflows/run-tests.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,15 @@ jobs:
2727
with:
2828
node-version: 18.17.1
2929
cache: 'yarn'
30+
- name: Add Env Variables
31+
run: cd src/backend && echo "DATABASE_URL=\"postgresql://postgres:docker@localhost:5432/nerpm?schema=public\"" >> .env
32+
- name: Pull Docker Image
33+
run: docker run --name finishline -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres
34+
- name: Wait for Postgres to start
35+
run: sleep 10s
36+
- name: Create Database
37+
run: docker exec finishline psql -U postgres -c "CREATE DATABASE nerpm;"
3038
- name: Install modules
31-
run: yarn install && yarn prisma:generate
39+
run: yarn install && yarn prisma:generate && yarn prisma:migrate:prod
3240
- name: Run tests
3341
run: yarn test:backend; yarn test:frontend

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
"test:frontend": "yarn workspace shared build; yarn workspace frontend test",
2626
"test:backend": "yarn workspace shared build; yarn workspace backend test",
2727
"test": "yarn test:backend && yarn test:frontend",
28+
"test:setup": "echo 'DATABASE_URL=\"postgresql://postgres:docker@localhost:5433/nerpm?schema=public\"' >> src/backend/.env && docker run --name finishline_test -e POSTGRES_PASSWORD=docker -p 5433:5432 -d postgres && sleep 5 && docker exec finishline_test psql -U postgres -c \"CREATE DATABASE nerpm;\" && yarn prisma:migrate:prod",
29+
"test:teardown": "docker stop finishline_test && docker rm finishline_test && echo 'DATABASE_URL=\"postgresql://postgres:docker@localhost:5432/nerpm?schema=public\"' >> src/backend/.env",
2830
"build": "yarn run build:backend && yarn run build:shared && yarn run build:frontend",
2931
"build:backend": "yarn workspace backend build",
3032
"build:shared": "yarn workspace shared build",

src/backend/tests/users.test.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,17 @@ describe('Users', () => {
3939
});
4040

4141
test('getSingleUser', async () => {
42-
vi.spyOn(prisma.user, 'findUnique').mockResolvedValue(batman);
42+
const res = await UsersService.getSingleUser(0);
4343

44-
const res = await UsersService.getSingleUser(1);
45-
46-
const { googleAuthId, ...restOfBatman } = batman;
47-
48-
expect(prisma.user.findUnique).toHaveBeenCalledTimes(1);
4944
// we don't return the google auth id for security reasons
50-
expect(res).toStrictEqual(restOfBatman);
45+
expect(res).toStrictEqual({
46+
userId: 0,
47+
firstName: 'Admin',
48+
email: 'admin@gmail.com',
49+
lastName: 'User',
50+
role: Role.GUEST,
51+
emailId: null
52+
});
5153
});
5254

5355
describe('updateUserRole', () => {

0 commit comments

Comments
 (0)