Skip to content
This repository was archived by the owner on Dec 2, 2023. It is now read-only.

Commit 2e72d0c

Browse files
committed
Merge branch 'development'
2 parents 4fcc668 + 544fcb0 commit 2e72d0c

36 files changed

Lines changed: 302 additions & 405 deletions

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ module.exports = {
5454
],
5555
"no-empty-function": 0,
5656
"@typescript-eslint/no-empty-function": 0,
57+
"@typescript-eslint/no-non-null-assertion": 0,
5758
"@typescript-eslint/no-inferrable-types": 0,
5859
"no-unused-vars": 0,
5960
"@typescript-eslint/no-unused-vars": [

README.md

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,10 @@
1-
# prereq-flow
1+
# prereq-flow 📦 [ARCHIVED] 📦
22

3-
Prereq Flow is an unofficial course planning aid for University of Washington students that visualizes courses and prerequisites in undergraduate degrees.
3+
Prereq Flow is an unofficial course planning aid for University of Washington students that visualizes courses and prerequisites in undergraduate degrees. Unsupported on Safari.
44

55
Powered by [React Flow](https://reactflow.dev/) in the front and [FastAPI](https://fastapi.tiangolo.com/) in the back. Built with [Vite](https://vitejs.dev/) and hosted on [Vercel](https://vercel.com/).
66

7-
<br/>
8-
9-
### 🚧 **Currently unsupported on Safari** 🚧
10-
11-
<br/>
12-
13-
Live here: https://www.prereqflow.com
14-
15-
Degree course lists [here](https://github.com/awu43/prereq-flow-degrees).
16-
17-
<br/>
7+
Archived version here: https://prereq-flow.vercel.app/
188

199
## License
2010
MIT

cypress/integration/AddCourseDialog/AddCourseTextSearch.spec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
describe("AddCourseTextSearch", () => {
22
beforeEach(() => {
3+
cy.setCookie("archive-notice-seen", "true");
34
cy.visit("/");
45
cy.get(".Header").contains("Add courses").click();
56
cy.get('[role="tablist"]').contains("Text search").click();

cypress/integration/AddCourseDialog/CustomCourseForm.spec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
describe("CustomCourseForm", () => {
22
beforeEach(() => {
3+
cy.setCookie("archive-notice-seen", "true");
34
cy.visit("/");
45
cy.get(".Header").contains("Add courses").click();
56
cy.get('[role="tablist"]').contains("Custom course").click();

cypress/integration/AddCourseDialog/UwCourseForm.spec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
describe("UwCourseForm", () => {
22
beforeEach(() => {
3+
cy.setCookie("archive-notice-seen", "true");
34
cy.visit("/");
45
cy.get(".Header").contains("Add courses").click();
56
cy.get('[role="tablist"]').contains("UW course").click();

cypress/integration/App/ContextMenu.spec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const TEST_COND_IDS = {
1515

1616
describe("ContextMenu", () => {
1717
beforeEach(() => {
18+
cy.setCookie("archive-notice-seen", "true");
1819
cy.visit("/");
1920
});
2021
describe("Node", () => {

cypress/integration/App/CourseNode.spec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { getNode } from "../utils";
22

33
describe("CourseNode", () => {
44
beforeEach(() => {
5+
cy.setCookie("archive-notice-seen", "true");
56
cy.visit("/");
67
});
78
describe("tippy", () => {

cypress/integration/EditDataDialog/EditDataDialog.spec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { clickNodeContextOpt, getEdge, getNode } from "../utils";
22

33
describe("EditDataDialog", () => {
44
beforeEach(() => {
5+
cy.setCookie("archive-notice-seen", "true");
56
cy.visit("/");
67
});
78
it("Disables save button when ID field is empty", () => {

cypress/integration/NewFlowDialog/CurriculumSelect.spec.js

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
import ALL_COURSES from "../../../src/data/final_seattle_courses.json";
2+
13
describe("CurriculumSelect", () => {
24
beforeEach(() => {
5+
cy.setCookie("archive-notice-seen", "true");
36
cy.visit("/");
47
cy.get(".Header").contains("New flow").click();
58
// eslint-disable-next-line cypress/no-unnecessary-waiting
@@ -10,12 +13,11 @@ describe("CurriculumSelect", () => {
1013
cy.get(".CurriculumSelect__select-input").select("A A");
1114
cy.get(".CurriculumSelect").contains("Get courses").click();
1215
cy.get(".NewFlowDialog").should("not.exist");
13-
cy.request("GET", "localhost:3000/curricula/A%20A").then(resp => {
14-
for (const course of resp.body) {
15-
expect(course.id).to.match(/^A A\b/g);
16+
for (const course of ALL_COURSES) {
17+
if (course.id.startsWith("A A")) {
1618
cy.get(`[data-id="${course.id}"`);
1719
}
18-
});
20+
}
1921
});
2022
it("Generates a new curriculum flow with external prereqs", () => {
2123
cy.get(".CurriculumSelect__select-input").select("A A");
@@ -42,15 +44,15 @@ describe("CurriculumSelect", () => {
4244
"not.exist",
4345
);
4446
});
45-
it("Displays Bothell curricula", () => {
47+
xit("Displays Bothell curricula", () => {
4648
cy.get(".CampusSelect__radio-label--bothell input").check();
4749
cy.get('.CurriculumSelect__select-input [value="A A"]').should("not.exist");
4850
cy.get('.CurriculumSelect__select-input [value="B ARAB"]');
4951
cy.get('.CurriculumSelect__select-input [value="T ACCT"]').should(
5052
"not.exist",
5153
);
5254
});
53-
it("Displays Tacoma curricula", () => {
55+
xit("Displays Tacoma curricula", () => {
5456
cy.get(".CampusSelect__radio-label--tacoma input").check();
5557
cy.get('.CurriculumSelect__select-input [value="A A"]').should("not.exist");
5658
cy.get('.CurriculumSelect__select-input [value="T ACCT"]');
@@ -62,25 +64,25 @@ describe("CurriculumSelect", () => {
6264
cy.get(".CurriculumSelect__select-input").select(
6365
"AES: American Ethnic Studies",
6466
);
65-
cy.get(".CampusSelect__radio-label--bothell input").check();
66-
cy.get(".CurriculumSelect__select-input").select("B BIO: Biology");
67-
cy.get(".CampusSelect__radio-label--tacoma input").check();
68-
cy.get(".CurriculumSelect__select-input").select("T CHEM: Chemistry");
67+
// cy.get(".CampusSelect__radio-label--bothell input").check();
68+
// cy.get(".CurriculumSelect__select-input").select("B BIO: Biology");
69+
// cy.get(".CampusSelect__radio-label--tacoma input").check();
70+
// cy.get(".CurriculumSelect__select-input").select("T CHEM: Chemistry");
6971
cy.get(".CurriculumSelect__external-checkbox input").check();
7072
cy.get(".CurriculumSelect .AmbiguitySelect label")
7173
.contains("Cautiously")
7274
.click();
7375
cy.get(".CloseButton").click();
7476
cy.get(".Header").contains("New flow").click();
7577
cy.get(".CurriculumSelect");
76-
cy.get(".CurriculumSelect__select-input")
77-
.find(":selected")
78-
.contains("T CHEM: Chemistry");
79-
cy.get(".CampusSelect__radio-label--bothell input").check();
80-
cy.get(".CurriculumSelect__select-input")
81-
.find(":selected")
82-
.contains("B BIO: Biology");
83-
cy.get(".CampusSelect__radio-label--seattle input").check();
78+
// cy.get(".CurriculumSelect__select-input")
79+
// .find(":selected")
80+
// .contains("T CHEM: Chemistry");
81+
// cy.get(".CampusSelect__radio-label--bothell input").check();
82+
// cy.get(".CurriculumSelect__select-input")
83+
// .find(":selected")
84+
// .contains("B BIO: Biology");
85+
// cy.get(".CampusSelect__radio-label--seattle input").check();
8486
cy.get(".CurriculumSelect__select-input")
8587
.find(":selected")
8688
.contains("AES: American Ethnic Studies");

cypress/integration/NewFlowDialog/DegreeSelect.spec.js

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
import ALL_MAJORS from "../../../src/data/final_majors.json";
2+
13
describe("DegreeSelect", () => {
24
beforeEach(() => {
5+
cy.setCookie("archive-notice-seen", "true");
36
cy.visit("/");
47
cy.get(".Header").contains("New flow").click();
58
// eslint-disable-next-line cypress/no-unnecessary-waiting
@@ -13,13 +16,12 @@ describe("DegreeSelect", () => {
1316
cy.get(".majors__add-button").click();
1417
cy.get(".DegreeSelect").contains("Get courses").click();
1518
cy.get(".NewFlowDialog").should("not.exist");
16-
cy.request("POST", "localhost:3000/degrees", [
17-
"Aeronautical and Astronautical Engineering",
18-
]).then(resp => {
19-
for (const course of resp.body) {
20-
cy.get(`[data-id="${course.id}"`);
21-
}
22-
});
19+
const AA = ALL_MAJORS.find(
20+
m => m[0] === "Aeronautical and Astronautical Engineering",
21+
)[1];
22+
for (const course of AA) {
23+
cy.get(`[data-id="${course}"`);
24+
}
2325
});
2426
it("Adds a major", () => {
2527
cy.get(".majors__select-input").select(
@@ -46,14 +48,14 @@ describe("DegreeSelect", () => {
4648
it("Disables the add button when current selection already selected", () => {
4749
cy.get(".majors__add-button").click();
4850
cy.get(".majors__add-button").should("be.disabled");
49-
cy.get(".majors__select-input").select("Biochemistry");
51+
cy.get(".majors__select-input").select("Computer Engineering");
5052
cy.get(".majors__add-button").should("not.be.disabled");
5153
});
5254
it("Disables the add button when three majors are selected", () => {
5355
cy.get(".majors__add-button").click();
54-
cy.get(".majors__select-input").select("Biochemistry");
56+
cy.get(".majors__select-input").select("Mechanical Engineering");
5557
cy.get(".majors__add-button").click();
56-
cy.get(".majors__select-input").select("Chemical Engineering");
58+
cy.get(".majors__select-input").select("Computer Engineering");
5759
cy.get(".majors__add-button").click();
5860
cy.get(".majors__select-input").select("Electrical Engineering");
5961
cy.get(".majors__add-button").should("be.disabled");
@@ -65,16 +67,18 @@ describe("DegreeSelect", () => {
6567
});
6668
it("Persists state", () => {
6769
cy.get(".majors__add-button").click();
68-
cy.get(".majors__select-input").select("Applied Mathematics");
70+
cy.get(".majors__select-input").select("Electrical Engineering");
6971
cy.get(".majors__add-button").click();
70-
cy.get(".majors__select-input").select("Astronomy");
72+
cy.get(".majors__select-input").select("Civil Engineering");
7173
cy.get(".AmbiguitySelect label").contains("Cautiously").click();
7274
cy.get(".CloseButton").click();
7375
cy.get(".Header").contains("New flow").click();
7476
cy.get(".DegreeSelect");
7577
cy.get("li").contains("Aeronautical and Astronautical Engineering");
76-
cy.get("li").contains("Applied Mathematics");
77-
cy.get(".majors__select-input").find(":selected").contains("Astronomy");
78+
cy.get("li").contains("Electrical Engineering");
79+
cy.get(".majors__select-input")
80+
.find(":selected")
81+
.contains("Civil Engineering");
7882
cy.get('input[type="radio"][checked]').parent().contains("Cautiously");
7983
});
8084
});

0 commit comments

Comments
 (0)