diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml
index 9057df7021..0a653bd330 100644
--- a/.github/workflows/pull_request.yaml
+++ b/.github/workflows/pull_request.yaml
@@ -55,8 +55,6 @@ jobs:
spec: cypress/e2e/Language_center.js
- name: 'Test study guidance groups'
spec: cypress/e2e/Study_guidance_groups.js
- - name: 'Test evaluation overview'
- spec: cypress/e2e/Evaluation_overview.js
- name: 'Test university'
spec: cypress/e2e/University.js
name: ${{ matrix.name }}
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index aafbc319bc..50741fbabc 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -213,8 +213,6 @@ jobs:
spec: cypress/e2e/Language_center.js
- name: 'Test study guidance groups'
spec: cypress/e2e/Study_guidance_groups.js
- - name: 'Test evaluation overview'
- spec: cypress/e2e/Evaluation_overview.js
- name: 'Test university'
spec: cypress/e2e/University.js
name: ${{ matrix.name }}
diff --git a/cypress/e2e/Evaluation_overview.js b/cypress/e2e/Evaluation_overview.js
deleted file mode 100644
index fceb62003e..0000000000
--- a/cypress/e2e/Evaluation_overview.js
+++ /dev/null
@@ -1,514 +0,0 @@
-///
-
-const { getEmptyYears } = require('../support/commands')
-
-describe('Evaluation overview', () => {
- describe('Programme view', () => {
- beforeEach(() => {
- cy.init('/evaluationoverview/programme/KH50_001', 'admin')
- })
-
- it('Page opens correctly', () => {
- cy.contains('Matemaattisten tieteiden kandiohjelma')
- cy.contains('KH50_001')
- cy.contains("This view is an abridged version of Oodikone's Studyprogramme Overview")
- })
-
- it('Progress data is shown correctly with graduated included', () => {
- cy.get('[data-cy="Graph-StudyTrackProgress"]').within(() => {
- const totalStats = ['12.9%', '6.9%', '9.7%', '9.2%', '3.7%', '6.0%', '51.6%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
-
- const years = getEmptyYears(true)
-
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 8, 8, 0, 0, 0, 0, 0, 0],
- ['2022 - 2023', 26, 9, 9, 4, 3, 0, 1, 0],
- ['2021 - 2022', 32, 8, 3, 8, 8, 5, 0, 0],
- ['2020 - 2021', 27, 2, 1, 3, 6, 2, 4, 9],
- ['2019 - 2020', 33, 1, 0, 2, 1, 0, 3, 26],
- ['2018 - 2019', 44, 0, 1, 1, 2, 0, 3, 37],
- ['2017 - 2018', 47, 0, 1, 3, 0, 1, 2, 40],
- ['Total', 217, 28, 15, 21, 20, 8, 13, 112],
- ]
-
- cy.checkTableStats(tableContents, 'StudyTrackProgress')
- })
-
- it('Progress data is shown correctly with graduated excluded', () => {
- cy.get('[data-cy=GraduatedToggle]').click()
- cy.get('[data-cy="Graph-StudyTrackProgress"]').within(() => {
- const totalStats = ['30.8%', '15.4%', '22.0%', '20.9%', '4.4%', '5.5%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
-
- const years = getEmptyYears(true)
-
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 8, 8, 0, 0, 0, 0, 0, 0],
- ['2022 - 2023', 24, 9, 8, 4, 3, 0, 0, 0],
- ['2021 - 2022', 31, 8, 3, 8, 8, 4, 0, 0],
- ['2020 - 2021', 11, 2, 1, 2, 5, 0, 0, 1],
- ['2019 - 2020', 7, 1, 0, 2, 1, 0, 0, 3],
- ['2018 - 2019', 5, 0, 1, 1, 2, 0, 0, 1],
- ['2017 - 2018', 5, 0, 1, 3, 0, 0, 1, 0],
- ['Total', 91, 28, 14, 20, 19, 4, 1, 5],
- ]
-
- cy.checkTableStats(tableContents, 'StudyTrackProgress')
- })
-
- it('Graduation times breakdown data is shown correctly', () => {
- cy.get('[data-cy=graduation-times-graph-breakdown]').within(() => {
- cy.contains('Graduation year')
- cy.contains('2021')
- cy.get('[aria-label="2021, 8. Overtime."]')
- cy.get('[aria-label="2021, 24. Max. year overtime."]')
- cy.get('[aria-label="2021, 14. On time."]').trigger('mouseover')
- cy.contains('Graduated On time: 14 students')
- })
-
- cy.get('[data-cy=YearToggle]').click()
-
- cy.get('[data-cy=graduation-times-graph-breakdown]').within(() => {
- cy.contains('Graduation year')
- cy.contains('2021 - 2022')
- cy.get('[aria-label="2021 - 2022, 13. Overtime."]')
- cy.get('[aria-label="2021 - 2022, 21. Max. year overtime."]')
- cy.get('[aria-label="2021 - 2022, 21. On time."]').trigger('mouseover')
- cy.contains('Graduated On time: 21 students')
- })
- })
-
- it('Graduation times median time data is shown correctly', () => {
- cy.get('[data-cy=GraduationTimeToggle]').click()
-
- cy.get('[data-cy=graduation-times-graph]').within(() => {
- cy.contains('Graduation year')
- cy.contains('2021')
- cy.contains('46 graduated').trigger('mouseover')
- cy.contains('46 students graduated in year 2021')
- cy.contains('median study time: 41 months')
- cy.contains('14 graduated on time')
- cy.contains('24 graduated max year overtime')
- cy.contains('8 graduated over year late')
- })
-
- cy.get('[data-cy=YearToggle]').click()
-
- cy.get('[data-cy=graduation-times-graph]').within(() => {
- cy.contains('Graduation year')
- cy.contains('2021 - 2022')
- cy.contains('55 graduated').trigger('mouseover')
- cy.contains('55 students graduated in year 2021 - 2022')
- cy.contains('median study time: 40 months')
- cy.contains('21 graduated on time')
- cy.contains('21 graduated max year overtime')
- cy.contains('13 graduated over year late')
- })
- })
-
- it("'Programmes before or after' data is shown correctly", () => {
- cy.get('[data-cy=Graph-ProgrammesBeforeOrAfter]').within(() => {
- cy.contains('Matematiikan ja tilastotieteen maisteriohjelma')
- cy.contains('Tietojenkäsittelytieteen maisteriohjelma')
- cy.contains('Datatieteen maisteriohjelma')
- cy.contains('2021')
- cy.contains('32')
- cy.contains('19')
- })
-
- let emptyYears = new Array(getEmptyYears(false).length).fill(0)
-
- let tableContents = [
- ['MH50_001', 'MAST', 'Matematiikan ja tilastotieteen maisteriohjelma', 0, 0, 1, 9, 32, 19, 15, ...emptyYears],
- ['MH50_002', 'LSI', 'Life Science Informatics -maisteriohjelma', 0, 0, 0, 1, 2, 1, 1, ...emptyYears],
- [
- 'MH50_003',
- 'TCM',
- 'Teoreettisten ja laskennallisten menetelmien maisteriohjelma',
- 0,
- 0,
- 0,
- 0,
- 1,
- 2,
- 1,
- ...emptyYears,
- ],
- ['MH50_009', 'CSM', 'Tietojenkäsittelytieteen maisteriohjelma', 0, 0, 0, 0, 2, 3, 2, ...emptyYears],
- ['MH50_010', 'DATA', 'Datatieteen maisteriohjelma', 0, 0, 0, 1, 5, 10, 1, ...emptyYears],
- ['MH70_009', 'ECON', 'Taloustieteen maisteriohjelma', 0, 0, 0, 0, 4, 7, 4, ...emptyYears],
- ]
-
- cy.checkTableStats(tableContents, 'undefined')
-
- cy.get('[data-cy=YearToggle]').click()
-
- cy.get('[data-cy=Graph-ProgrammesBeforeOrAfter]').within(() => {
- cy.contains('Matematiikan ja tilastotieteen maisteriohjelma')
- cy.contains('Tietojenkäsittelytieteen maisteriohjelma')
- cy.contains('Datatieteen maisteriohjelma')
- cy.contains('2021 - 2022')
- cy.contains('28')
- cy.contains('16')
- })
-
- emptyYears = new Array(getEmptyYears(true).length).fill(0)
-
- tableContents = [
- ['MH50_001', 'MAST', 'Matematiikan ja tilastotieteen maisteriohjelma', 0, 0, 4, 24, 28, 16, 4, ...emptyYears],
- ['MH50_002', 'LSI', 'Life Science Informatics -maisteriohjelma', 0, 0, 1, 0, 3, 1, 0, ...emptyYears],
- [
- 'MH50_003',
- 'TCM',
- 'Teoreettisten ja laskennallisten menetelmien maisteriohjelma',
- 0,
- 0,
- 0,
- 1,
- 1,
- 2,
- 0,
- ...emptyYears,
- ],
- ['MH50_009', 'CSM', 'Tietojenkäsittelytieteen maisteriohjelma', 0, 0, 0, 0, 4, 3, 0, ...emptyYears],
- ['MH50_010', 'DATA', 'Datatieteen maisteriohjelma', 0, 0, 1, 0, 12, 4, 0, ...emptyYears],
- ['MH70_009', 'ECON', 'Taloustieteen maisteriohjelma', 0, 0, 0, 4, 6, 5, 0, ...emptyYears],
- ]
-
- cy.checkTableStats(tableContents, 'undefined')
- })
- })
-
- describe('Faculty view', () => {
- beforeEach(() => {
- cy.init('/evaluationoverview/faculty/H50', 'admin')
- })
-
- it('Page opens correctly', () => {
- cy.contains('Matemaattis-luonnontieteellinen tiedekunta')
- cy.contains('H50')
- cy.contains("This view is an abridged version of Oodikone's Faculty Overview")
- })
-
- describe('Progress stats', () => {
- describe('Bachelor stats', () => {
- it('graph with graduated included is shown correctly', () => {
- cy.get('[data-cy="Graph-FacultyBachelorsProgress"]').within(() => {
- const totalStats = ['12.2%', '5.3%', '7.5%', '8.2%', '5.3%', '6.3%', '55.2%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
- })
-
- it('graph with graduated excluded is shown correctly', () => {
- cy.get('[data-cy="GraduatedToggle"]').click()
- cy.get('[data-cy="Graph-FacultyBachelorsProgress"]').within(() => {
- const totalStats = ['30.5%', '12.5%', '18.0%', '19.5%', '7.0%', '3.1%', '9.4%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
- })
-
- it('table with graduated included is shown correctly', () => {
- cy.get('[data-cy="Table-FacultyBachelorsProgress"]')
- const years = getEmptyYears(true)
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 14, 13, 0, 0, 0, 0, 0, 1],
- ['2022 - 2023', 32, 11, 10, 6, 4, 0, 1, 0],
- ['2021 - 2022', 44, 10, 4, 9, 11, 7, 1, 2],
- ['2020 - 2021', 38, 3, 1, 3, 7, 3, 8, 13],
- ['2019 - 2020', 50, 2, 0, 2, 1, 4, 5, 36],
- ['2018 - 2019', 75, 0, 1, 1, 2, 2, 3, 66],
- ['2017 - 2018', 66, 0, 1, 3, 1, 1, 2, 58],
- ['Total', 319, 39, 17, 24, 26, 17, 20, 176],
- ]
- cy.checkTableStats(tableContents, 'FacultyBachelorsProgress')
- })
-
- it('table with graduated excluded is shown correctly', () => {
- cy.get('[data-cy="GraduatedToggle"]').click()
- cy.get('[data-cy="Table-FacultyBachelorsProgress"]')
- const years = getEmptyYears(true)
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 14, 13, 0, 0, 0, 0, 0, 1],
- ['2022 - 2023', 30, 11, 9, 6, 4, 0, 0, 0],
- ['2021 - 2022', 41, 10, 4, 9, 11, 6, 0, 1],
- ['2020 - 2021', 14, 3, 1, 2, 6, 0, 1, 1],
- ['2019 - 2020', 14, 2, 0, 2, 1, 3, 2, 4],
- ['2018 - 2019', 6, 0, 1, 1, 2, 0, 0, 2],
- ['2017 - 2018', 9, 0, 1, 3, 1, 0, 1, 3],
- ['Total', 128, 39, 16, 23, 25, 9, 4, 12],
- ]
- cy.checkTableStats(tableContents, 'FacultyBachelorsProgress')
- })
- })
-
- describe('Bachelor + master stats', () => {
- it('graph with graduated included is shown correctly', () => {
- cy.get('[data-cy=Graph-FacultyBachelorMastersProgress]').within(() => {
- const totalStats = ['21.3%', '8.4%', '10.1%', '14.0%', '12.4%', '6.7%', '27.0%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
- })
-
- it('graph with graduated excluded is shown correctly', () => {
- cy.get('[data-cy="GraduatedToggle"]').click()
- cy.get('[data-cy=Graph-FacultyBachelorMastersProgress]').within(() => {
- const totalStats = ['28.7%', '11.6%', '14.0%', '18.6%', '15.5%', '3.1%', '8.5%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
- })
-
- it('table with graduated included is shown correctly', () => {
- cy.get('[data-cy="Table-FacultyBachelorMastersProgress"]')
- const years = getEmptyYears(true)
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 0, 0, 0, 0, 0, 0, 0, 0],
- ['2022 - 2023', 2, 2, 0, 0, 0, 0, 0, 0],
- ['2021 - 2022', 4, 2, 0, 0, 0, 1, 0, 1],
- ['2020 - 2021', 23, 13, 2, 4, 0, 4, 0, 0],
- ['2019 - 2020', 32, 7, 7, 4, 7, 3, 3, 1],
- ['2018 - 2019', 63, 10, 2, 5, 13, 7, 4, 22],
- ['2017 - 2018', 54, 4, 4, 5, 5, 7, 5, 24],
- ['Total', 178, 38, 15, 18, 25, 22, 12, 48],
- ]
- cy.checkTableStats(tableContents, 'FacultyBachelorMastersProgress')
- })
-
- it('table with graduated excluded is shown correctly', () => {
- cy.get('[data-cy="GraduatedToggle"]').click()
- cy.get('[data-cy="Table-FacultyBachelorMastersProgress"]')
- const years = getEmptyYears(true)
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 0, 0, 0, 0, 0, 0, 0, 0],
- ['2022 - 2023', 2, 2, 0, 0, 0, 0, 0, 0],
- ['2021 - 2022', 4, 2, 0, 0, 0, 1, 0, 1],
- ['2020 - 2021', 21, 13, 2, 4, 0, 2, 0, 0],
- ['2019 - 2020', 31, 7, 7, 4, 7, 3, 2, 1],
- ['2018 - 2019', 41, 9, 2, 5, 12, 7, 1, 5],
- ['2017 - 2018', 30, 4, 4, 5, 5, 7, 1, 4],
- ['Total', 129, 37, 15, 18, 24, 20, 4, 11],
- ]
- cy.checkTableStats(tableContents, 'FacultyBachelorMastersProgress')
- })
- })
-
- describe('Master stats', () => {
- it('graph with graduated included is shown correctly', () => {
- cy.get('[data-cy=Graph-FacultyMastersProgress]').within(() => {
- const totalStats = ['16.1%', '12.9%', '6.5%', '12.9%', '9.7%', '16.1%', '25.8%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
- })
-
- it('graph with graduated excluded is shown correctly', () => {
- cy.get('[data-cy="GraduatedToggle"]').click()
- cy.get('[data-cy=Graph-FacultyMastersProgress]').within(() => {
- const totalStats = ['23.8%', '19.0%', '9.5%', '9.5%', '9.5%', '14.3%', '14.3%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
- })
-
- it('table with graduated included is shown correctly', () => {
- cy.get('[data-cy="Table-FacultyMastersProgress"]')
- const years = getEmptyYears(true)
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 4, 4, 0, 0, 0, 0, 0, 0],
- ['2022 - 2023', 5, 0, 1, 1, 2, 0, 0, 1],
- ['2021 - 2022', 8, 1, 2, 0, 2, 1, 1, 1],
- ['2020 - 2021', 3, 0, 0, 0, 0, 0, 2, 1],
- ['2019 - 2020', 7, 0, 0, 1, 0, 1, 1, 4],
- ['2018 - 2019', 2, 0, 0, 0, 0, 1, 0, 1],
- ['2017 - 2018', 2, 0, 1, 0, 0, 0, 1, 0],
- ['Total', 31, 5, 4, 2, 4, 3, 5, 8],
- ]
- cy.checkTableStats(tableContents, 'FacultyMastersProgress')
- })
-
- it('table with graduated excluded is shown correctly', () => {
- cy.get('[data-cy="GraduatedToggle"]').click()
- cy.get('[data-cy="Table-FacultyMastersProgress"]')
- const years = getEmptyYears(true)
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 4, 4, 0, 0, 0, 0, 0, 0],
- ['2022 - 2023', 5, 0, 1, 1, 2, 0, 0, 1],
- ['2021 - 2022', 5, 1, 2, 0, 0, 0, 1, 1],
- ['2020 - 2021', 0, 0, 0, 0, 0, 0, 0, 0],
- ['2019 - 2020', 3, 0, 0, 1, 0, 1, 1, 0],
- ['2018 - 2019', 2, 0, 0, 0, 0, 1, 0, 1],
- ['2017 - 2018', 2, 0, 1, 0, 0, 0, 1, 0],
- ['Total', 21, 5, 4, 2, 2, 2, 3, 3],
- ]
- cy.checkTableStats(tableContents, 'FacultyMastersProgress')
- })
- })
-
- describe('Doctor stats', () => {
- it('graph with graduated included is shown correctly', () => {
- cy.get('[data-cy=Graph-FacultyDoctoralProgress]').within(() => {
- const totalStats = ['6.0%', '18.0%', '16.0%', '14.0%', '46.0%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
- })
-
- it('graph with graduated excluded is shown correctly', () => {
- cy.get('[data-cy="GraduatedToggle"]').click()
- cy.get('[data-cy=Graph-FacultyDoctoralProgress]').within(() => {
- const totalStats = ['9.1%', '24.2%', '12.1%', '15.2%', '39.4%']
- for (const stat of totalStats) {
- cy.contains(stat)
- }
- })
- })
-
- it('table with graduated included is shown correctly', () => {
- cy.get('[data-cy="Table-FacultyDoctoralProgress"]')
- const years = getEmptyYears(true)
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 1, 1, 0, 0, 0, 0],
- ['2022 - 2023', 9, 1, 7, 1, 0, 0],
- ['2021 - 2022', 3, 1, 1, 0, 0, 1],
- ['2020 - 2021', 5, 0, 0, 2, 1, 2],
- ['2019 - 2020', 11, 0, 0, 1, 4, 6],
- ['2018 - 2019', 14, 0, 1, 4, 2, 7],
- ['2017 - 2018', 7, 0, 0, 0, 0, 7],
- ['Total', 50, 3, 9, 8, 7, 23],
- ]
- cy.checkTableStats(tableContents, 'FacultyDoctoralProgress')
- })
-
- it('table with graduated excluded is shown correctly', () => {
- cy.get('[data-cy="GraduatedToggle"]').click()
- cy.get('[data-cy="Table-FacultyDoctoralProgress"]')
- const years = getEmptyYears(true)
- const tableContents = [
- ...years.map(year => [year, 0, 0, 0, 0, 0, 0]),
- ['2023 - 2024', 1, 1, 0, 0, 0, 0],
- ['2022 - 2023', 9, 1, 7, 1, 0, 0],
- ['2021 - 2022', 3, 1, 1, 0, 0, 1],
- ['2020 - 2021', 4, 0, 0, 2, 0, 2],
- ['2019 - 2020', 9, 0, 0, 1, 4, 4],
- ['2018 - 2019', 5, 0, 0, 0, 1, 4],
- ['2017 - 2018', 2, 0, 0, 0, 0, 2],
- ['Total', 33, 3, 8, 4, 5, 13],
- ]
- cy.checkTableStats(tableContents, 'FacultyDoctoralProgress')
- })
- })
-
- it('Years in the tables can be clicked to show programme level breakdown', () => {
- cy.get('[data-cy="Table-FacultyBachelorsProgress"]').within(() => {
- cy.contains('2021 - 2022').click()
- cy.contains('31.3%').trigger('mouseover', { force: true })
- cy.contains('Matemaattisten tieteiden kandiohjelma')
- cy.contains('MAT - KH50_001')
- cy.contains('0 Credits: 0')
- cy.contains('1 ≤ Credits < 45: 10')
- cy.contains('45 ≤ Credits < 90: 9')
- cy.contains('90 ≤ Credits < 135: 11')
- cy.contains('135 ≤ Credits < 180: 2')
- cy.contains('180 ≤ Credits: 0')
- })
- })
- })
-
- describe('Graduation times stats', () => {
- it('All the correct sections are displayed', () => {
- const checkSections = breakdown => {
- const sections = ['bachelor', 'bcMsCombo', 'master', 'doctor']
- for (const section of sections) {
- cy.get(`[data-cy=Section-${section}]`).within(() => {
- cy.get('div.graduations-chart-container').within(() => {
- cy.get(`div.faculty-${breakdown ? 'breakdown-' : ''}graph`)
- cy.get('div.graduations-message').contains("Click a bar to view that year's programme level breakdown")
- })
- })
- }
- }
-
- checkSections(true)
- cy.get('[data-cy=GraduationTimeToggle]').click()
- checkSections(false)
- })
-
- it('Graduation times breakdown data is shown correctly', () => {
- cy.get('[data-cy=Section-bachelor]').within(() => {
- cy.contains('Graduation year')
- cy.contains('2022')
-
- cy.get('[aria-label="2022, 29. On time."]').trigger('mouseover')
- cy.contains('On time: 29')
-
- cy.get('[aria-label="2022, 29. On time."]').trigger('click')
- cy.contains('Year 2022 by graduation year')
-
- cy.get('[aria-label="MAT, 22. On time."]').trigger('mouseover')
- cy.contains('Matemaattisten tieteiden kandiohjelma')
- cy.contains('KH50_001')
- cy.contains('On time: 22')
-
- cy.get('[aria-label="MFKK, 7. On time."]').trigger('mouseover')
- cy.contains('Matematiikan, fysiikan ja kemian opettajan kandiohjelma')
- cy.contains('KH50_004')
- cy.contains('On time: 7')
- })
- })
-
- it('Graduation times median time data is shown correctly', () => {
- cy.get('[data-cy=GraduationTimeToggle]').click()
-
- cy.get('[data-cy=Section-bachelor]').within(() => {
- cy.contains('Graduation year')
- cy.contains('2021')
-
- cy.contains('70 graduated').trigger('mouseover')
- cy.contains('70 students graduated in year 2021')
- cy.contains('median study time: 39.5 months')
- cy.contains('28 graduated on time')
- cy.contains('32 graduated max year overtime')
- cy.contains('10 graduated over year late')
-
- cy.contains('70 graduated').trigger('click')
- cy.contains('Year 2021 by graduation year')
-
- cy.get('[aria-label="MAT, 41."]').trigger('mouseover')
- cy.contains('Matemaattisten tieteiden kandiohjelma')
- cy.contains('KH50_001')
- cy.contains('47 students graduated in year 2021')
- cy.contains('median study time: 41 months')
- cy.contains('14 graduated on time')
- cy.contains('25 graduated max year overtime')
- cy.contains('8 graduated over year late')
- })
- })
- })
- })
-})
diff --git a/documentation/access_rights.md b/documentation/access_rights.md
index cccb7369c6..b00b4f033e 100644
--- a/documentation/access_rights.md
+++ b/documentation/access_rights.md
@@ -23,9 +23,9 @@ The roles `openUniSearch` and `studyGuidanceGroups` simply enable certain views
- Can see statistics of every course and year
-### katselemusViewer
+### katselmusViewer
-- Enables the _Evaluation overview_ view
+- Enables the _Evaluation overview_ view (deprecated)
### teachers
diff --git a/services/backend/src/routes/studyProgramme.ts b/services/backend/src/routes/studyProgramme.ts
index ccd6ce820f..8f939429db 100644
--- a/services/backend/src/routes/studyProgramme.ts
+++ b/services/backend/src/routes/studyProgramme.ts
@@ -9,7 +9,6 @@ import {
setStudyTrackStats,
} from '../services/analyticsService'
import { getCreditsProduced } from '../services/providerCredits'
-import { getProgrammeName } from '../services/studyProgramme'
import { getBasicStatsForStudytrack } from '../services/studyProgramme/studyProgrammeBasics'
import {
getStudyProgrammeCoursesForStudyTrack,
@@ -224,73 +223,4 @@ router.get('/:id/update_studytrackview', async (req: GetUpdateViewRequest, res:
}
})
-interface GetEvaluationStatsRequest extends Request {
- query: {
- graduated: Graduated
- year_type: YearType
- special_groups: SpecialGroups
- }
-}
-
-router.get('/:id/evaluationstats', async (req: GetEvaluationStatsRequest, res: Response) => {
- const code = req.params.id
- const { graduated, year_type: yearType, special_groups: specialGroups } = req.query
- if (!code) {
- return res.status(422).end()
- }
- // Statistics for Tilannekuvalomake view
- const combinedProgramme = ''
- let gradData = await getGraduationStats(code, combinedProgramme, yearType, specialGroups)
- if (!gradData) {
- const updatedStats = await getGraduationStatsForStudyTrack({
- studyProgramme: code,
- combinedProgramme,
- settings: {
- isAcademicYear: yearType === 'ACADEMIC_YEAR',
- includeAllSpecials: specialGroups === 'SPECIAL_INCLUDED',
- },
- })
- if (updatedStats) {
- await setGraduationStats(updatedStats, yearType, specialGroups)
- gradData = updatedStats
- }
- }
-
- let progressData = await getStudyTrackStats(code, combinedProgramme, graduated, specialGroups)
- if (!progressData) {
- const studyRightsOfProgramme = await getStudyRightsInProgramme(code, false, true)
- const updated = await getStudyTrackStatsForStudyProgramme({
- studyProgramme: code,
- combinedProgramme,
- settings: {
- graduated: graduated === 'GRADUATED_INCLUDED',
- specialGroups: specialGroups === 'SPECIAL_INCLUDED',
- },
- studyRightsOfProgramme,
- })
- if (updated) {
- await setStudyTrackStats(updated, graduated, specialGroups)
- progressData = updated
- }
- }
-
- const programmeName = await getProgrammeName(code)
-
- delete gradData.tableStats
- delete gradData.graphStats
- delete gradData.titles
- const data = {
- id: code,
- programmeName,
- status: gradData?.status,
- lastUpdated: gradData.lastUpdated,
- graduations: gradData,
- creditCounts: progressData?.creditCounts,
- creditCountsCombo: progressData?.creditCountsCombo,
- years: progressData?.years,
- }
-
- return res.json(data)
-})
-
export default router
diff --git a/services/frontend/src/common/InfoToolTips/studyProgramme.ts b/services/frontend/src/common/InfoToolTips/studyProgramme.ts
index 69fb0ba98b..804b8db6cf 100644
--- a/services/frontend/src/common/InfoToolTips/studyProgramme.ts
+++ b/services/frontend/src/common/InfoToolTips/studyProgramme.ts
@@ -155,11 +155,6 @@ studyProgrammeToolTips.studyTrackOverviewCombinedProgramme = studyProgrammeToolT
'kentän **All** arvon (lukuun ottamatta *Current status* -kategorian **Graduated bachelor** -saraketta).'
)
-studyProgrammeToolTips.studyTrackProgressEvaluationOverview = studyProgrammeToolTips.studyTrackProgress.replace(
- 'Jos sivun yläosassa on valittuna ”All study rights” (oletus), mukana ovat myös ohjelmaan siirtyneet ja ohjelmasta pois siirtyneet opiskelijat.',
- ''
-)
-
studyProgrammeToolTips.averageGraduationTimesStudyTracksMaster =
studyProgrammeToolTips.averageGraduationTimesStudyTracks.replace(
'on valmistunut.',
diff --git a/services/frontend/src/components/EvaluationOverview/FacultyGraduations.jsx b/services/frontend/src/components/EvaluationOverview/FacultyGraduations.jsx
deleted file mode 100644
index b895ee2757..0000000000
--- a/services/frontend/src/components/EvaluationOverview/FacultyGraduations.jsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import { GraduationTimes } from '@/components/FacultyStatistics/TimesAndPaths/GraduationTimes'
-
-export const FacultyGraduations = ({ faculty, graduationStats, groupByStartYear, showMedian, universityMode }) => {
- const groupBy = groupByStartYear ? 'byStartYear' : 'byGradYear'
- const yearLabel = groupByStartYear ? 'Start year' : 'Graduation year'
- const data = graduationStats?.data?.[groupBy].medians
- const goals = graduationStats?.data?.goals
- const goalExceptions = { ...goals?.exceptions, needed: faculty === 'H30' }
- const programmeData = graduationStats?.data?.[groupBy].programmes.medians
- const programmeNames = graduationStats?.data?.programmeNames
- const classSizes = graduationStats?.data?.classSizes
- const commonProps = {
- yearLabel,
- programmeNames,
- showMedian,
- classSizes,
- goalExceptions,
- groupBy,
- mode: universityMode ? 'faculty' : 'programme',
- }
-
- return (
-
-
-
-
-
-
- )
-}
diff --git a/services/frontend/src/components/EvaluationOverview/FacultyProgress.jsx b/services/frontend/src/components/EvaluationOverview/FacultyProgress.jsx
deleted file mode 100644
index 4e1a77c25b..0000000000
--- a/services/frontend/src/components/EvaluationOverview/FacultyProgress.jsx
+++ /dev/null
@@ -1,138 +0,0 @@
-import { Message } from 'semantic-ui-react'
-
-import { calculateStats, sortProgrammeKeys } from '@/components/FacultyStatistics/facultyHelpers'
-import { FacultyBarChart } from '@/components/FacultyStatistics/FacultyProgrammeOverview/FacultyBarChart'
-import { FacultyProgressTable } from '@/components/FacultyStatistics/FacultyProgrammeOverview/FacultyProgressTable'
-
-export const FacultyProgress = ({ faculty, progressStats, getDivider }) => {
- const bachelorStats = calculateStats(progressStats?.data?.creditCounts?.bachelor, 180)
- const bachelorMasterStats = calculateStats(
- progressStats?.data?.creditCounts?.bachelorMaster,
- faculty === 'H90' ? 360 : 300,
- 180,
- 7
- )
- const masterStats = calculateStats(progressStats?.data?.creditCounts?.master, 120)
- const doctorStats = calculateStats(progressStats?.data?.creditCounts?.doctor, 40, 0, 5)
-
- return (
- <>
- {bachelorStats != null && (
- <>
- {getDivider('Bachelor', 'BachelorStudentsOfTheFacultyByStartingYear', 'no-infobox')}
-
- [
- obj,
- progressStats?.data?.programmeNames[obj].code,
- ]),
- faculty
- ).map(listObj => listObj[0])}
- titles={bachelorStats.tableTitles}
- />
- >
- )}
- {bachelorMasterStats != null && (
- <>
- {getDivider('Bachelor + Master', 'ProgressOfBachelorMaster', 'no-infobox')}
-
- The starting year is the studyright start in the bachelor programme. The credits are computed by the start
- date of the bachelor programme and at the moment, they do not include any transferred credits. Thus, in
- these statistics some students have fewer credits than in reality.
-
-
- [
- obj,
- progressStats?.data?.programmeNames[obj].code,
- ]),
- faculty
- ).map(listObj => listObj[0])}
- titles={bachelorMasterStats.tableTitles}
- />
- >
- )}
- {masterStats != null && faculty !== 'H90' && (
- <>
- {getDivider('Master', 'MasterStudentsOfTheFacultyByStartingYear', 'no-infobox')}
-
- [
- obj,
- progressStats?.data?.programmeNames[obj].code,
- ]),
- faculty
- ).map(listObj => listObj[0])}
- titles={masterStats.tableTitles}
- />
- >
- )}
- {doctorStats != null && (
- <>
- {getDivider('Doctor', 'DoctoralStudentsOfTheFacultyByStartingYear', 'no-infobox')}
-
- [
- obj,
- progressStats?.data?.programmeNames[obj].code,
- ]),
- faculty
- ).map(listObj => listObj[0])}
- titles={doctorStats.tableTitles}
- />
- >
- )}
- >
- )
-}
diff --git a/services/frontend/src/components/EvaluationOverview/FacultyView.jsx b/services/frontend/src/components/EvaluationOverview/FacultyView.jsx
deleted file mode 100644
index 762cab82fb..0000000000
--- a/services/frontend/src/components/EvaluationOverview/FacultyView.jsx
+++ /dev/null
@@ -1,155 +0,0 @@
-import { useState } from 'react'
-import { Divider, Header, Loader, Message } from 'semantic-ui-react'
-
-import { facultyToolTips } from '@/common/InfoToolTips'
-import { InfoBox } from '@/components/InfoBox'
-import { useLanguage } from '@/components/LanguagePicker/useLanguage'
-import { Toggle } from '@/components/StudyProgramme/Toggle'
-import {
- useGetFacultiesQuery,
- useGetFacultyGraduationTimesQuery,
- useGetFacultyProgressStatsQuery,
-} from '@/redux/facultyStats'
-import { FacultyGraduations } from './FacultyGraduations'
-import { FacultyProgress } from './FacultyProgress'
-import '@/components/FacultyStatistics/faculty.css'
-
-export const FacultyView = ({ faculty }) => {
- const [graduatedGroup, setGraduatedGroup] = useState(false)
- const [showMedian, setShowMedian] = useState(false)
- const studyProgrammeFilter = 'NEW_STUDY_PROGRAMMES'
- const specials = 'SPECIAL_EXCLUDED'
- const graduated = graduatedGroup ? 'GRADUATED_EXCLUDED' : 'GRADUATED_INCLUDED'
- const { getTextIn } = useLanguage()
-
- const allFaculties = useGetFacultiesQuery()
- const faculties = allFaculties?.data
- const facultyDetails = faculties && faculty && faculties.find(f => f.code === faculty)
- const facultyName = facultyDetails && getTextIn(facultyDetails.name)
- const progressStats = useGetFacultyProgressStatsQuery(
- {
- id: facultyDetails?.id,
- studyProgrammeFilter,
- specialGroups: specials,
- graduated,
- },
- { skip: !facultyDetails }
- )
-
- const graduationStats = useGetFacultyGraduationTimesQuery(
- { id: facultyDetails?.id, studyProgrammeFilter },
- { skip: !facultyDetails }
- )
-
- const getDivider = (title, toolTipText, content, cypress = undefined) => (
- <>
-
- {content === 'no-infobox' ? null : }
- >
- )
-
- if (allFaculties.isLoading || allFaculties.isFetching) {
- return
- }
-
- if (!facultyDetails) {
- return (
-
- {getTextIn({
- en: `Faculty “${faculty}” was not found. Please check the address.`,
- fi: `Tiedekuntaa ”${faculty}” ei löytynyt. Ole hyvä ja tarkista osoite.`,
- })}
-
- )
- }
-
- const isFetchingOrLoading =
- progressStats.isLoading || progressStats.isFetching || graduationStats.isLoading || graduationStats.isFetching
-
- const isError =
- (progressStats.isError && graduationStats.isError) ||
- (progressStats.isSuccess && !progressStats.data && graduationStats.isSuccess && !graduationStats.data)
-
- if (isError) return Something went wrong, please try refreshing the page.
-
- return (
- <>
-
-
- {faculty}
-
-
- This view is an abridged version of Oodikone's Faculty Overview
-
- In these statistics, all special study rights have been excluded, eg. exchange students and non-degree
- students.
-
-
- You can find more statistics on this and all other faculties of the university in main Faculty view.
- The full view includes details such as: how many have graduated or started in each faculty and in its
- programmes; credits produced by the faculty; populations backgrounds and enrollment statuses. This view
- provides statistics both on the whole faculty level and a breakdown of how they are spread among the faculty's
- programmes.
-
- Access the full Faculty view by clicking 'Faculty' in the top navigation bar.
-
-
- {isFetchingOrLoading ? (
-
- ) : (
-
- {progressStats.isSuccess && progressStats.data && (
- <>
- {getDivider(
- 'Progress of students of the faculty ',
- 'bachelorStudentsOfTheFacultyByStartingYear',
- facultyToolTips.studentProgress,
- 'InfoFacultyProgress'
- )}
-
-
-
-
- >
- )}
- {graduationStats.isSuccess && graduationStats.data && (
- <>
- {getDivider(
- 'Average graduation times',
- 'averageGraduationTimes',
- facultyToolTips.averageGraduationTimes
- )}
-
-
-
-
- >
- )}
-
- )}
-
- >
- )
-}
diff --git a/services/frontend/src/components/EvaluationOverview/ProgrammeView.jsx b/services/frontend/src/components/EvaluationOverview/ProgrammeView.jsx
deleted file mode 100644
index a2279b8f71..0000000000
--- a/services/frontend/src/components/EvaluationOverview/ProgrammeView.jsx
+++ /dev/null
@@ -1,216 +0,0 @@
-import { useState } from 'react'
-import { Divider, Header, Loader, Message, Segment } from 'semantic-ui-react'
-
-import { getTargetCreditsForProgramme } from '@/common'
-import { studyProgrammeToolTips } from '@/common/InfoToolTips'
-import { calculateStats } from '@/components/FacultyStatistics/facultyHelpers'
-import { InfoBox } from '@/components/InfoBox'
-import { useLanguage } from '@/components/LanguagePicker/useLanguage'
-import { DataTable } from '@/components/StudyProgramme/BasicOverview/DataTable'
-import { StackedBarChart } from '@/components/StudyProgramme/BasicOverview/StackedBarChart'
-import { BreakdownBarChart } from '@/components/StudyProgramme/BreakdownBarChart'
-import { MedianTimeBarChart } from '@/components/StudyProgramme/MedianTimeBarChart'
-import { ProgressOfStudents } from '@/components/StudyProgramme/StudyTrackOverview/ProgressOfStudents'
-import { Toggle } from '@/components/StudyProgramme/Toggle'
-import '@/components/StudyProgramme/studyprogramme.css'
-import { useGetEvaluationStatsQuery } from '@/redux/studyProgramme'
-
-export const ProgrammeView = ({ studyprogramme }) => {
- const { getTextIn } = useLanguage()
- const [showMedian, setShowMedian] = useState(false)
- const [academicYear, setAcademicYear] = useState(false)
- const [graduated, setGraduated] = useState(false)
-
- const yearType = academicYear ? 'ACADEMIC_YEAR' : 'CALENDAR_YEAR'
- const grad = graduated ? 'GRADUATED_EXCLUDED' : 'GRADUATED_INCLUDED'
-
- const statistics = useGetEvaluationStatsQuery({
- id: studyprogramme,
- yearType,
- specialGroups: 'SPECIAL_EXCLUDED',
- graduated: grad,
- })
-
- const progressStats = calculateStats(statistics?.data?.creditCounts, getTargetCreditsForProgramme(studyprogramme))
- if (progressStats?.chartStats) {
- progressStats.chartStats.forEach(creditCategory => {
- const [total, ...years] = creditCategory.data
- creditCategory.data = [total, ...years.reverse()]
- })
- }
-
- const progressComboStats =
- Object.keys(statistics?.data?.creditCountsCombo || {}).length > 0
- ? calculateStats(statistics.data.creditCountsCombo, getTargetCreditsForProgramme(studyprogramme) + 180)
- : null
-
- if (progressComboStats?.chartStats) {
- progressComboStats.chartStats.forEach(creditCategory => {
- const [total, ...years] = creditCategory.data
- creditCategory.data = [total, ...years.reverse()]
- })
- }
-
- const programmeName = statistics?.data?.programmeName && getTextIn(statistics?.data?.programmeName)
-
- const graduationData = statistics?.data?.graduations
-
- const doCombo = graduationData?.doCombo
- const timesData = graduationData?.graduationTimes
-
- const getDivider = (title, toolTipText) => (
- <>
-
-
- >
- )
-
- const displayMedian = () => (
- <>
- {doCombo && (
-
- )}
-
- >
- )
-
- const displayBreakdown = () => (
- <>
- {doCombo && (
-
- )}
-
- >
- )
-
- const isFetchingOrLoading = statistics.isLoading || statistics.isFetching
-
- const isError = statistics.isError || (statistics.isSuccess && !statistics.data)
-
- if (isError) return Something went wrong, please try refreshing the page.
-
- return (
- <>
-
-
- {studyprogramme}
-
-
- {isFetchingOrLoading ? (
-
- ) : (
-
-
- This view is an abridged version of Oodikone's Studyprogramme Overview
-
- In these statistics, the following students are excluded: Students whose studyrights{' '}
- have been transferred away from or into the program as well as exchange students and non-degree
- students.
-
-
-
- You can find more statistics on this and other studyprogrammes of the university in main
- Studyprogramme Overview.{' '}
-
- The full view includes details such as: how many have graduated or started in each programme and in its
- studytracks; credits produced by the programme; population backgrounds and enrollment statuses.
-
-
- Access the full Studyprogramme Overview by clicking 'Programmes' in the top navigation bar and then
- 'Overview'. Alternatively, you can select 'Class statistics' to explore studyprogrammes by starting
- class with interactive statistics and visualizations.
-
-
- Note that both views have access restrictions. If you can't access either view and feel you should have
- access, please contact oodikone@helsinki.fi .
-
-
-
- {getDivider(
- 'Progress of students of the study programme by starting year',
- 'studyTrackProgressEvaluationOverview'
- )}
-
-
- {getDivider('Graduation times', 'averageGraduationTimes')}
-
-
-
-
-
- {showMedian ? displayMedian() : displayBreakdown()}
-
- {graduationData?.programmesBeforeOrAfterGraphStats?.length !== 0 && (
- <>
- {getDivider(
- studyprogramme.includes('KH')
- ? 'Primary master programme studies after this programme'
- : 'Primary bachelor programme studies before this programme',
- 'programmesBeforeOrAfter'
- )}
-
- ({
- ...programme,
- name: getTextIn(programme.name),
- }))}
- labels={graduationData?.years}
- wideTable
- />
-
- programme.with(2, getTextIn(programme[2]))
- )}
- titles={graduationData?.programmesBeforeOrAfterTitles}
- wideTable
- />
-
- >
- )}
-
-
- )}
-
- >
- )
-}
diff --git a/services/frontend/src/components/EvaluationOverview/UniversityView.jsx b/services/frontend/src/components/EvaluationOverview/UniversityView.jsx
deleted file mode 100644
index 107a128ee4..0000000000
--- a/services/frontend/src/components/EvaluationOverview/UniversityView.jsx
+++ /dev/null
@@ -1,153 +0,0 @@
-import { orderBy } from 'lodash'
-import { useState } from 'react'
-import { Link } from 'react-router-dom'
-import { Divider, Header, Loader, Message } from 'semantic-ui-react'
-
-import { useTitle } from '@/common/hooks'
-import { facultyToolTips } from '@/common/InfoToolTips'
-import '@/components/FacultyStatistics/faculty.css'
-import { InfoBox } from '@/components/InfoBox'
-import { useLanguage } from '@/components/LanguagePicker/useLanguage'
-import { Toggle } from '@/components/StudyProgramme/Toggle'
-import { useGetAuthorizedUserQuery } from '@/redux/auth'
-import { useGetAllFacultiesGraduationStatsQuery, useGetAllFacultiesProgressStatsQuery } from '@/redux/facultyStats'
-import { FacultyGraduations } from './FacultyGraduations'
-import { FacultyProgress } from './FacultyProgress'
-
-export const UniversityView = ({ isEvaluationOverview }) => {
- useTitle('University')
- const [graduatedGroup, setGraduatedGroup] = useState(false)
- const [medianMode, setMedianMode] = useState(false)
- const [excludeSpecials, setIncludeSpecials] = useState(isEvaluationOverview)
- const { fullAccessToStudentData, roles } = useGetAuthorizedUserQuery()
- const userHasFacultyRights =
- fullAccessToStudentData || roles.includes('facultyStatistics') || roles.includes('katselmusViewer')
- const graduated = graduatedGroup ? 'GRADUATED_EXCLUDED' : 'GRADUATED_INCLUDED'
- const progressStats = useGetAllFacultiesProgressStatsQuery({
- graduated,
- includeSpecials: !excludeSpecials,
- })
- const { getTextIn } = useLanguage()
- const graduationStats = useGetAllFacultiesGraduationStatsQuery()
- const getDivider = (title, toolTipText, content, cypress = undefined) => (
- <>
-
- {content === 'no-infobox' ? null : }
- >
- )
-
- if (graduationStats.isLoading || graduationStats.isFetching || progressStats.isFetching || progressStats.isLoading) {
- return
- }
-
- const getMessage = () => {
- if (!isEvaluationOverview) {
- return (
-
- Programme MH90_001 (Veterinary medicine bachelor + licentiate) is currently excluded.
-
- )
- }
- return (
-
- This view is a combined version of Oodikone's Faculty Evaluation Overview
-
- In these statistics, all special study rights have been excluded , eg. exchange students and non-degree
- students.
-
- Access the full Faculty view of individual faculties by clicking 'Faculty' in the top navigation bar.
-
- Veterinary medicine bachelor + licentiate (MH90_001) is disabled and not visible in the progress stats.
- It is visible in graduation times, but notice that it is found in "Bachelor + Master" category although it has
- a target time of 6 years, whereas the other degrees in that category have a target of 5 years.
-
-
- )
- }
-
- const isError =
- progressStats.isError ||
- (progressStats.isSuccess && !progressStats.data) ||
- graduationStats.isError ||
- !graduationStats.data
- if (isError) return Something went wrong, please try refreshing the page.
- const allFaculties = Object.values(progressStats.data.programmeNames)
-
- return (
- <>
-
-
-
- {getMessage()}
-
- {userHasFacultyRights && isEvaluationOverview && (
-
-
- Click here to open the corresponding view for an individual faculty
-
-
- {orderBy(allFaculties, 'code').map(faculty => (
-
- {`${
- faculty.code
- } ${getTextIn(faculty)}`}
-
- ))}
-
-
- )}
-
-
-
- {getDivider(
- 'Progress of students of the university',
- 'BachelorStudentsOfTheFacultyByStartingYear',
- facultyToolTips.studentProgress,
- 'InfoFacultyProgress'
- )}
-
-
- {!isEvaluationOverview && (
- setIncludeSpecials(!excludeSpecials)}
- toolTips={facultyToolTips.studentToggle}
- value={excludeSpecials}
- />
- )}
-
-
-
- {getDivider('Average graduation times', 'AverageGraduationTimes', facultyToolTips.averageGraduationTimes)}
-
- setMedianMode(!medianMode)}
- value={medianMode}
- />
-
-
-
- >
- )
-}
diff --git a/services/frontend/src/components/EvaluationOverview/index.jsx b/services/frontend/src/components/EvaluationOverview/index.jsx
deleted file mode 100644
index b4135e081d..0000000000
--- a/services/frontend/src/components/EvaluationOverview/index.jsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Redirect, useParams } from 'react-router-dom'
-import { Segment } from 'semantic-ui-react'
-
-import { useTitle } from '@/common/hooks'
-import { FacultyView } from './FacultyView'
-import { ProgrammeView } from './ProgrammeView'
-import { UniversityView } from './UniversityView'
-
-export const EvaluationOverview = () => {
- const { id, level } = useParams()
- useTitle('Evaluation overview')
-
- if (!['programme', 'faculty', 'university'].includes(level) || (level !== 'university' && !id)) {
- return
- }
-
- const levelToComponent = {
- programme: ,
- faculty: ,
- university: ,
- }
-
- return (
-
- {levelToComponent[level]}
-
- )
-}
diff --git a/services/frontend/src/components/Routes/ProtectedRoute.tsx b/services/frontend/src/components/Routes/ProtectedRoute.tsx
index 2e4744fb26..76b38ef71a 100644
--- a/services/frontend/src/components/Routes/ProtectedRoute.tsx
+++ b/services/frontend/src/components/Routes/ProtectedRoute.tsx
@@ -36,9 +36,6 @@ export const ProtectedRoute = ({
if (path.includes('languagecenterview')) {
return iamGroups.includes('grp-kielikeskus-esihenkilot')
}
- if (path.includes('evaluationoverview')) {
- return location.pathname.includes('university') ? true : hasRequiredRoles
- }
if (path.includes('teachers')) {
return hasRequiredRoles || hasFullAccessToTeacherData(roles, iamGroups)
}
@@ -47,7 +44,7 @@ export const ProtectedRoute = ({
}
if (hasAccessToRoute()) {
- return
+ return
}
return
diff --git a/services/frontend/src/components/Routes/index.jsx b/services/frontend/src/components/Routes/index.jsx
index 2c91d59f4e..56c126f71e 100644
--- a/services/frontend/src/components/Routes/index.jsx
+++ b/services/frontend/src/components/Routes/index.jsx
@@ -8,7 +8,6 @@ import { CoursePopulation } from '@/components/CoursePopulation'
import { CourseStatistics } from '@/components/CourseStatistics'
import { CustomOpenUniPopulation } from '@/components/CustomOpenUniPopulation'
import { CustomPopulation } from '@/components/CustomPopulation'
-import { EvaluationOverview } from '@/components/EvaluationOverview'
import { FacultyStatistics } from '@/components/FacultyStatistics'
import { LanguageCenterView } from '@/components/LanguageCenterView'
import { PopulationStatistics } from '@/components/PopulationStatistics'
@@ -38,7 +37,6 @@ const routes = {
studyGuidanceGroups: '/studyguidancegroups/:groupid?',
faculties: '/faculties/:facultyId?',
customOpenUniPopulation: '/openunipopulation',
- evaluationOverview: '/evaluationoverview/:level?/:id?',
university: '/university',
completedCoursesSearch: '/completedcoursessearch',
languageCenterView: '/languagecenterview',
@@ -56,29 +54,34 @@ export const Routes = () => (
{isDefaultServiceProvider() && }
(
{isDefaultServiceProvider() && (
(
)}
(
{isDefaultServiceProvider() && (
)}
-
-
+
+
{languageCenterViewEnabled && (
)}
-
-
+
diff --git a/services/frontend/src/redux/studyProgramme.js b/services/frontend/src/redux/studyProgramme.js
index 0768af1272..b4a6f9ee57 100644
--- a/services/frontend/src/redux/studyProgramme.js
+++ b/services/frontend/src/redux/studyProgramme.js
@@ -18,10 +18,6 @@ const studyProgrammeApi = RTKApi.injectEndpoints({
codes
)}&isAcademicYear=${isAcademicYear}&includeSpecials=${specialGroups}`,
}),
- getEvaluationStats: builder.query({
- query: ({ id, yearType, specialGroups, graduated }) =>
- `/v2/studyprogrammes/${id}/evaluationstats?year_type=${yearType}&special_groups=${specialGroups}&graduated=${graduated}`,
- }),
getGraduationStats: builder.query({
query: ({ id, yearType, specialGroups, combinedProgramme }) =>
`/v2/studyprogrammes/${id}/graduationstats?year_type=${yearType}&special_groups=${specialGroups}&combined_programme=${combinedProgramme}`,
@@ -53,7 +49,6 @@ export const {
useGetBasicStatsQuery,
useGetColorizedTableCourseStatsQuery,
useGetCreditStatsQuery,
- useGetEvaluationStatsQuery,
useGetGraduationStatsQuery,
useGetStudyTrackStatsQuery,
useGetProgrammeCoursesStatsQuery,