Skip to content

Commit e2db461

Browse files
authored
Merge branch 'develop' into kl/scrum-147-fix-timetable-integration-bugs
2 parents 7ca53d6 + 96655f1 commit e2db461

File tree

22 files changed

+447
-304
lines changed

22 files changed

+447
-304
lines changed

.github/workflows/autodeploy.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -115,21 +115,20 @@ jobs:
115115
cd /home/masahisasekita/term-group-project-c01w25-project-course-matrix || { echo "Error: Directory /root/myapp does not exist!"; exit 1; }
116116
117117
# Step 13: Clears deployment environment
118+
sudo docker stop $(sudo docker ps -q)
118119
sudo docker rmi -f $(sudo docker images -q)
119120
sudo docker system prune -a --volumes -f
120121
121122
# Step 14: Pull the latest images
122-
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master
123-
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master
123+
sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master
124+
sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master
124125
125126
# Step 15: Run the docker containers
126-
docker run -d -p 5173:5173 ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master
127-
docker run -d -p 8081:8081 ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master
127+
sudo docker run -d -p 5173:5173 ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master
128+
sudo docker run -d -p 8081:8081 ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master
128129
129130
# Step 16: Run post deployment tests
130-
docker compose down
131-
docker compose up -d --pull always
132-
docker ps
133-
docker exec -it ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master npm test
134-
docker exec -it ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master npm test
131+
sudo docker ps
132+
sudo docker run --rm ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-frontend:master npm test
133+
sudo docker run --rm ${{ secrets.DOCKERHUB_USERNAME }}/course-matrix-backend:master npm test
135134
EOF
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Format the code
22

33
on:
4+
workflow_dispatch:
45
push:
56

67
jobs:

.github/workflows/testing.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
name: Run Tests
2-
on: push
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
37
jobs:
48
build:
59
runs-on: ubuntu-latest

course-matrix/backend/__tests__/canInsert.test.ts

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import { describe, expect, it, test } from "@jest/globals";
22

3-
import { createOffering, canInsert } from "../src/utils/generatorHelpers";
43
import { Offering } from "../src/types/generatorTypes";
4+
import {
5+
canInsert,
6+
canInsertList,
7+
createOffering,
8+
} from "../src/utils/generatorHelpers";
59

610
describe("canInsert function", () => {
711
const offering1: Offering = createOffering({
@@ -115,4 +119,52 @@ describe("canInsert function", () => {
115119

116120
expect(result).toBe(true); // Different day, no overlap
117121
});
122+
123+
it("special case", async () => {
124+
const toInsert: Offering = createOffering({
125+
id: 1069,
126+
course_id: 1271,
127+
day: "TH",
128+
start: "05:00:00",
129+
end: "17:00:00",
130+
});
131+
const offering11: Offering = createOffering({
132+
id: 414,
133+
course_id: 337,
134+
day: "TU",
135+
start: "15:00:00",
136+
end: "16:00:00",
137+
});
138+
const offering12: Offering = createOffering({
139+
id: 415,
140+
course_id: 337,
141+
day: "TH",
142+
start: "15:00:00",
143+
end: "17:00:00",
144+
});
145+
const offering13: Offering = createOffering({
146+
id: 1052,
147+
course_id: 1271,
148+
day: "TU",
149+
start: "10:00:00",
150+
end: "11:00:00",
151+
});
152+
const offering14: Offering = createOffering({
153+
id: 1053,
154+
course_id: 1271,
155+
day: "TU",
156+
start: "09:00:00",
157+
end: "11:00:00",
158+
});
159+
const curList: Offering[] = [
160+
offering11,
161+
offering12,
162+
offering13,
163+
offering14,
164+
];
165+
166+
const result = await canInsertList([toInsert], curList);
167+
168+
expect(result).toBe(false); // Special bug-causing case
169+
});
118170
});

course-matrix/backend/__tests__/timetablesController.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,11 @@ jest.mock("../src/db/setupDb", () => ({
139139
) {
140140
return {
141141
eq: jest.fn().mockReturnThis(), // Allow further chaining of eq if required
142+
neq: jest.fn().mockImplementation(() => ({
143+
maybeSingle: jest
144+
.fn()
145+
.mockImplementation(() => ({ data: null, error: null })),
146+
})),
142147
maybeSingle: jest.fn().mockImplementation(() => {
143148
return { data: mockTimetables1, error: null };
144149
}),

0 commit comments

Comments
 (0)