mirror of
https://github.com/UniversityOfHelsinkiCS/oodikone.git
synced 2026-10-12 19:03:39 +03:00
[CompontentTests] Replace few more e2e tests with component tests
This commit is contained in:
@@ -32,23 +32,14 @@ const deleteTag = tagName => {
|
||||
|
||||
describe('Degree programme overview', () => {
|
||||
describe('Degree programme selector', () => {
|
||||
beforeEach(() => {
|
||||
cy.init('/study-programme', 'admin')
|
||||
})
|
||||
|
||||
it('Degree programme search filter', () => {
|
||||
cy.init('/study-programme', 'admin')
|
||||
cy.contains('Tietojenkäsittelytieteen kandiohjelma').should('exist')
|
||||
cy.contains('Matemaattisten tieteiden kandiohjelma').should('exist')
|
||||
cy.cs('study-programme-filter').type('Tietojenkäsittelytieteen')
|
||||
cy.contains('Tietojenkäsittelytieteen kandiohjelma').should('exist')
|
||||
cy.contains('Matemaattisten tieteiden kandiohjelma').should('not.exist')
|
||||
})
|
||||
|
||||
it('Old and specialized programmes filter', () => {
|
||||
cy.contains('Biotekniikka (ylempi)').should('not.exist')
|
||||
cy.cs('filter-old-programmes-toggle').click()
|
||||
cy.contains('Biotekniikka (ylempi)').should('exist')
|
||||
})
|
||||
})
|
||||
|
||||
describe('Basic information tab works for basic user', () => {
|
||||
|
||||
@@ -20,7 +20,7 @@ export default defineConfig({
|
||||
/* Opt out of parallel tests on CI. */
|
||||
workers: process.env.CI ? 1 : undefined,
|
||||
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
|
||||
reporter: 'html',
|
||||
reporter: process.env.CI ? 'dot' : [['list', { printSteps: true }]],
|
||||
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
|
||||
use: {
|
||||
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
|
||||
|
||||
@@ -60,6 +60,64 @@ const testProgrammes = {
|
||||
},
|
||||
progId: 'DOMAST',
|
||||
},
|
||||
KH50_005: {
|
||||
code: 'KH50_005',
|
||||
curriculumPeriodIds: ['hy-lv-76'],
|
||||
degreeProgrammeType: 'urn:code:degree-program-type:bachelors-degree',
|
||||
name: {
|
||||
en: "Bachelor's Programme in Computer Science",
|
||||
fi: 'Tietojenkäsittelytieteen kandiohjelma',
|
||||
sv: 'Kandidatprogrammet i datavetenskap',
|
||||
},
|
||||
progId: 'TKT',
|
||||
},
|
||||
1: {
|
||||
code: '1',
|
||||
curriculumPeriodIds: ['hy-lv-76'],
|
||||
degreeProgrammeType: 'urn:code:degree-program-type:bachelor',
|
||||
name: {
|
||||
fi: 'Test1',
|
||||
},
|
||||
progId: 'TKT1',
|
||||
},
|
||||
2: {
|
||||
code: '2',
|
||||
curriculumPeriodIds: ['hy-lv-76'],
|
||||
degreeProgrammeType: 'urn:code:degree-program-type:bachelor',
|
||||
name: {
|
||||
fi: 'Test2',
|
||||
},
|
||||
progId: 'TKT2',
|
||||
},
|
||||
3: {
|
||||
code: '3',
|
||||
curriculumPeriodIds: ['hy-lv-76'],
|
||||
degreeProgrammeType: 'urn:code:degree-program-type:bachelor',
|
||||
name: {
|
||||
fi: 'Test3',
|
||||
},
|
||||
progId: 'TKT3',
|
||||
},
|
||||
4: {
|
||||
code: '4',
|
||||
curriculumPeriodIds: ['hy-lv-76'],
|
||||
degreeProgrammeType: 'urn:code:degree-program-type:bachelor',
|
||||
name: {
|
||||
fi: 'Test4',
|
||||
},
|
||||
progId: 'TKT4',
|
||||
},
|
||||
'820050-ma': {
|
||||
code: '820050-ma',
|
||||
curriculumPeriodIds: ['hy-lv-76'],
|
||||
degreeProgrammeType: 'urn:code:degree-program-type:masters-degree',
|
||||
name: {
|
||||
en: 'Biotechnology (higher)',
|
||||
fi: 'Biotekniikka (ylempi)',
|
||||
sv: 'Bioteknik (högre)',
|
||||
},
|
||||
progId: '820050-ma',
|
||||
},
|
||||
},
|
||||
allProgrammes: {},
|
||||
}
|
||||
@@ -116,4 +174,40 @@ test.describe('StudyProgrammeSelector', () => {
|
||||
await expect(component).toContainText('Combined programmes')
|
||||
await expect(component).toContainText('Doctoral programmes')
|
||||
})
|
||||
|
||||
test('should filter out programmes correctly', async ({ mount, router }) => {
|
||||
void (await router.route('**/populationstatistics/studyprogrammes', async route => {
|
||||
const json = testProgrammes
|
||||
await route.fulfill({ json })
|
||||
}))
|
||||
|
||||
const component = await mount(<ReduxWrapper component={<StudyProgrammeSelector />} />)
|
||||
|
||||
await component.getByLabel('Filter degree programmes').fill('Tietojenkäsittelytieteen')
|
||||
await expect(component).toContainText('Bachelor programmes')
|
||||
await expect(component).toContainText('Tietojenkäsittelytieteen kandiohjelma')
|
||||
|
||||
await expect(component).not.toContainText('Matemaattisten tieteiden kandiohjelma')
|
||||
await expect(component).not.toContainText('Eläinlääketieteen kandiohjelma')
|
||||
|
||||
await expect(component).not.toContainText('Master programmes')
|
||||
await expect(component).not.toContainText('Matematiikan ja tilastotieteen maisteriohjelma')
|
||||
await expect(component).not.toContainText('Eläinlääketieteen lisensiaatin koulutusohjelma')
|
||||
|
||||
await expect(component).not.toContainText('Combined programmes programmes')
|
||||
await expect(component).not.toContainText('Doctoral programmes')
|
||||
})
|
||||
|
||||
test('should display old programmes only when toggled', async ({ mount, router }) => {
|
||||
void (await router.route('**/populationstatistics/studyprogrammes', async route => {
|
||||
const json = testProgrammes
|
||||
await route.fulfill({ json })
|
||||
}))
|
||||
|
||||
const component = await mount(<ReduxWrapper component={<StudyProgrammeSelector />} />)
|
||||
|
||||
await expect(component).not.toContainText('Biotekniikka (ylempi)')
|
||||
await component.getByLabel('Filter out old and specialized programmes').click()
|
||||
await expect(component).toContainText('Biotekniikka (ylempi)')
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user