@studyportals/fawkes 8.7.0 → 8.7.1-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/organisations-seo/index.d.ts +3 -3
- package/dist/organisations-seo/index.js +1 -1
- package/dist/programmes-seo/index.d.ts +5 -5
- package/dist/programmes-seo/index.js +1 -1
- package/dist/scholarships-seo/index.d.ts +4 -4
- package/dist/scholarships-seo/index.js +2 -2
- package/dist/sitemap-generator-seo/index.d.ts +14 -14
- package/dist/sitemap-generator-seo/index.js +5 -5
- package/dist/src/common/IDependencies.d.ts +1 -1
- package/dist/src/common/IPresenter.d.ts +1 -1
- package/dist/src/common/ISearchDependencies.d.ts +1 -1
- package/dist/src/common/ISeoDependencies.d.ts +2 -2
- package/dist/src/common/ISitemapDependencies.d.ts +2 -2
- package/dist/src/common/ISitemapUrlGenerator.d.ts +1 -1
- package/dist/src/common/policies/BaseSeoIndexabilityPolicy.d.ts +1 -1
- package/dist/src/common/policies/BaseSeoIndexabilityPolicy.js +2 -2
- package/dist/src/common/rules/NoFiltersSelectedRule.d.ts +2 -2
- package/dist/src/common/rules/OnlineAttendanceRule.d.ts +1 -1
- package/dist/src/common/rules/OnlineAttendanceRule.js +1 -1
- package/dist/src/common/rules/OnlyFiltersSelectedRule.d.ts +2 -2
- package/dist/src/common/rules/SingleValueSelectedForFilterRule.d.ts +2 -2
- package/dist/src/organisations/IOrganisationSearchApplicationState.d.ts +1 -1
- package/dist/src/organisations/ISeoSortingState.d.ts +1 -1
- package/dist/src/organisations/SearchIndexabilityManager.d.ts +4 -4
- package/dist/src/organisations/SearchIndexabilityManager.js +2 -2
- package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.d.ts +3 -3
- package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.js +3 -3
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.d.ts +1 -1
- package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +1 -1
- package/dist/src/organisations/policies/our-picks/Area.d.ts +5 -5
- package/dist/src/organisations/policies/our-picks/Area.js +6 -6
- package/dist/src/organisations/policies/our-picks/AreaAttendance.d.ts +7 -7
- package/dist/src/organisations/policies/our-picks/AreaAttendance.js +9 -9
- package/dist/src/organisations/policies/our-picks/Attendance.d.ts +6 -6
- package/dist/src/organisations/policies/our-picks/Attendance.js +7 -7
- package/dist/src/organisations/policies/our-picks/Continent.d.ts +5 -5
- package/dist/src/organisations/policies/our-picks/Continent.js +6 -6
- package/dist/src/organisations/policies/our-picks/Country.d.ts +5 -5
- package/dist/src/organisations/policies/our-picks/Country.js +6 -6
- package/dist/src/organisations/policies/our-picks/CountryAreaCity.d.ts +6 -6
- package/dist/src/organisations/policies/our-picks/CountryAreaCity.js +7 -7
- package/dist/src/organisations/policies/our-picks/CountryAttendance.d.ts +7 -7
- package/dist/src/organisations/policies/our-picks/CountryAttendance.js +9 -9
- package/dist/src/organisations/policies/our-picks/CountryCity.d.ts +6 -6
- package/dist/src/organisations/policies/our-picks/CountryCity.js +7 -7
- package/dist/src/organisations/policies/our-picks/Unfiltered.d.ts +4 -4
- package/dist/src/organisations/policies/our-picks/Unfiltered.js +4 -4
- package/dist/src/organisations/policies/ranked/RankedArea.d.ts +4 -4
- package/dist/src/organisations/policies/ranked/RankedArea.js +4 -4
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.d.ts +5 -5
- package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +6 -6
- package/dist/src/organisations/policies/ranked/RankedAttendance.d.ts +5 -5
- package/dist/src/organisations/policies/ranked/RankedAttendance.js +5 -5
- package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.d.ts +5 -5
- package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +6 -6
- package/dist/src/organisations/policies/ranked/RankedContinent.d.ts +4 -4
- package/dist/src/organisations/policies/ranked/RankedContinent.js +4 -4
- package/dist/src/organisations/policies/ranked/RankedContinentAttendance.d.ts +6 -6
- package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +7 -7
- package/dist/src/organisations/policies/ranked/RankedCountry.d.ts +4 -4
- package/dist/src/organisations/policies/ranked/RankedCountry.js +4 -4
- package/dist/src/organisations/policies/ranked/RankedCountryAttendance.d.ts +5 -5
- package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +6 -6
- package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.d.ts +4 -4
- package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +5 -5
- package/dist/src/organisations/policies/ranked/RankedDiscipline.d.ts +4 -4
- package/dist/src/organisations/policies/ranked/RankedDiscipline.js +4 -4
- package/dist/src/organisations/policies/ranked/RankedUnfiltered.d.ts +3 -3
- package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +2 -2
- package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +3 -3
- package/dist/src/organisations/rules/ContinentIsEuropeRule.d.ts +1 -1
- package/dist/src/organisations/rules/ContinentIsEuropeRule.js +1 -1
- package/dist/src/organisations/rules/ExcludeByIdForCitiesRule.d.ts +3 -3
- package/dist/src/organisations/rules/MinimumAmountOfRankedResultsRule.d.ts +3 -3
- package/dist/src/organisations/rules/MinimumAmountOfRankedResultsRule.js +1 -1
- package/dist/src/organisations/rules/MinimumAmountOfResultsRule.d.ts +4 -4
- package/dist/src/organisations/rules/MinimumAmountOfResultsRule.js +1 -1
- package/dist/src/organisations/rules/NoFiltersSelectedRule.d.ts +2 -2
- package/dist/src/organisations/types/IOrganisationSearchDependencies.d.ts +2 -2
- package/dist/src/organisations/types/IOrganisationsSitemapDependencies.d.ts +3 -3
- package/dist/src/presenters/AreaPresenter.d.ts +1 -1
- package/dist/src/presenters/AttendancePresenter.d.ts +1 -1
- package/dist/src/presenters/CityPresenter.d.ts +1 -1
- package/dist/src/presenters/ContinentPresenter.d.ts +1 -1
- package/dist/src/presenters/CountryPresenter.d.ts +1 -1
- package/dist/src/presenters/DegreePresenter.d.ts +1 -1
- package/dist/src/presenters/DisciplinePresenter.d.ts +1 -1
- package/dist/src/presenters/DurationPresenter.d.ts +1 -1
- package/dist/src/presenters/EducationalFormPresenter.d.ts +1 -1
- package/dist/src/presenters/FormatPresenter.d.ts +1 -1
- package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +1 -1
- package/dist/src/presenters/TuitionFeePresenter.d.ts +1 -1
- package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.d.ts +2 -2
- package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.js +1 -1
- package/dist/src/programmes/BaseProgrammeRule.d.ts +2 -2
- package/dist/src/programmes/IProgrammeRule.d.ts +2 -2
- package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.d.ts +3 -3
- package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.js +1 -1
- package/dist/src/programmes/SearchIndexabilityManager.d.ts +4 -4
- package/dist/src/programmes/SearchIndexabilityManager.js +8 -4
- package/dist/src/programmes/policies/Area.d.ts +3 -3
- package/dist/src/programmes/policies/Area.js +4 -4
- package/dist/src/programmes/policies/Attendance.d.ts +4 -4
- package/dist/src/programmes/policies/Attendance.js +5 -5
- package/dist/src/programmes/policies/AttendanceArea.d.ts +4 -4
- package/dist/src/programmes/policies/AttendanceArea.js +6 -6
- package/dist/src/programmes/policies/AttendanceContinent.d.ts +4 -4
- package/dist/src/programmes/policies/AttendanceContinent.js +6 -6
- package/dist/src/programmes/policies/AttendanceDegree.d.ts +2 -2
- package/dist/src/programmes/policies/AttendanceDegree.js +5 -5
- package/dist/src/programmes/policies/AttendanceDuration.d.ts +5 -5
- package/dist/src/programmes/policies/AttendanceDuration.js +7 -7
- package/dist/src/programmes/policies/AttendanceFormat.d.ts +4 -4
- package/dist/src/programmes/policies/AttendanceFormat.js +6 -6
- package/dist/src/programmes/policies/Continent.d.ts +3 -3
- package/dist/src/programmes/policies/Continent.js +4 -4
- package/dist/src/programmes/policies/ContinentDuration.d.ts +3 -3
- package/dist/src/programmes/policies/ContinentDuration.js +5 -5
- package/dist/src/programmes/policies/ContinentFormat.d.ts +3 -3
- package/dist/src/programmes/policies/ContinentFormat.js +5 -5
- package/dist/src/programmes/policies/ContinentSpecialProgrammes.d.ts +4 -4
- package/dist/src/programmes/policies/ContinentSpecialProgrammes.js +6 -6
- package/dist/src/programmes/policies/Country.d.ts +3 -3
- package/dist/src/programmes/policies/Country.js +4 -4
- package/dist/src/programmes/policies/CountryAttendance.d.ts +4 -4
- package/dist/src/programmes/policies/CountryAttendance.js +6 -6
- package/dist/src/programmes/policies/CountryAttendanceDegree.d.ts +4 -4
- package/dist/src/programmes/policies/CountryAttendanceDegree.js +7 -7
- package/dist/src/programmes/policies/CountryDegree.d.ts +2 -2
- package/dist/src/programmes/policies/CountryDegree.js +5 -5
- package/dist/src/programmes/policies/CountryDuration.d.ts +3 -3
- package/dist/src/programmes/policies/CountryDuration.js +5 -5
- package/dist/src/programmes/policies/CountryDurationDegree.d.ts +3 -3
- package/dist/src/programmes/policies/CountryDurationDegree.js +6 -6
- package/dist/src/programmes/policies/CountryEducationalForm.d.ts +2 -2
- package/dist/src/programmes/policies/CountryEducationalForm.js +5 -5
- package/dist/src/programmes/policies/CountryFormat.d.ts +3 -3
- package/dist/src/programmes/policies/CountryFormat.js +5 -5
- package/dist/src/programmes/policies/CountrySpecialProgrammes.d.ts +4 -4
- package/dist/src/programmes/policies/CountrySpecialProgrammes.js +6 -6
- package/dist/src/programmes/policies/Degree.d.ts +3 -3
- package/dist/src/programmes/policies/Degree.js +4 -4
- package/dist/src/programmes/policies/DegreeArea.d.ts +3 -3
- package/dist/src/programmes/policies/DegreeArea.js +5 -5
- package/dist/src/programmes/policies/DegreeAttendanceDiscipline.d.ts +4 -4
- package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +7 -7
- package/dist/src/programmes/policies/DegreeAttendanceFormat.d.ts +4 -4
- package/dist/src/programmes/policies/DegreeAttendanceFormat.js +7 -7
- package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.d.ts +4 -4
- package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.js +7 -7
- package/dist/src/programmes/policies/DegreeContinent.d.ts +2 -2
- package/dist/src/programmes/policies/DegreeContinent.js +5 -5
- package/dist/src/programmes/policies/DegreeCountryAttendance.d.ts +3 -3
- package/dist/src/programmes/policies/DegreeCountryAttendance.js +6 -6
- package/dist/src/programmes/policies/DegreeCountryDiscipline.d.ts +3 -3
- package/dist/src/programmes/policies/DegreeCountryDiscipline.js +6 -6
- package/dist/src/programmes/policies/DegreeCountryTuitionFee.d.ts +3 -3
- package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +6 -6
- package/dist/src/programmes/policies/DegreeDuration.d.ts +2 -2
- package/dist/src/programmes/policies/DegreeDuration.js +5 -5
- package/dist/src/programmes/policies/DegreeFormat.d.ts +2 -2
- package/dist/src/programmes/policies/DegreeFormat.js +5 -5
- package/dist/src/programmes/policies/DegreeSpecialProgrammes.d.ts +3 -3
- package/dist/src/programmes/policies/DegreeSpecialProgrammes.js +5 -5
- package/dist/src/programmes/policies/DegreeTuitionFee.d.ts +3 -3
- package/dist/src/programmes/policies/DegreeTuitionFee.js +5 -5
- package/dist/src/programmes/policies/{DisciplineTuitionFee.d.ts → DegreeTuitionFeeArea.d.ts} +5 -5
- package/dist/src/programmes/policies/{DegreeAreaTuitionFee.js → DegreeTuitionFeeArea.js} +7 -7
- package/dist/src/programmes/policies/{DegreeAttendanceTuitionFee.d.ts → DegreeTuitionFeeAttendance.d.ts} +2 -2
- package/dist/src/programmes/policies/{DegreeAttendanceTuitionFee.js → DegreeTuitionFeeAttendance.js} +7 -7
- package/dist/src/programmes/policies/{DegreeContinentTuitionFee.d.ts → DegreeTuitionFeeContinent.d.ts} +2 -2
- package/dist/src/programmes/policies/{DegreeContinentTuitionFee.js → DegreeTuitionFeeContinent.js} +6 -6
- package/dist/src/programmes/policies/{DegreeFormatTuitionFee.d.ts → DegreeTuitionFeeFormat.d.ts} +3 -3
- package/dist/src/programmes/policies/{DegreeFormatTuitionFee.js → DegreeTuitionFeeFormat.js} +9 -9
- package/dist/src/programmes/policies/Discipline.d.ts +3 -3
- package/dist/src/programmes/policies/Discipline.js +4 -4
- package/dist/src/programmes/policies/DisciplineAttendance.d.ts +4 -4
- package/dist/src/programmes/policies/DisciplineAttendance.js +6 -6
- package/dist/src/programmes/policies/DisciplineContinent.d.ts +3 -3
- package/dist/src/programmes/policies/DisciplineContinent.js +5 -5
- package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +4 -4
- package/dist/src/programmes/policies/DisciplineContinentAttendance.js +7 -7
- package/dist/src/programmes/policies/DisciplineCountry.d.ts +3 -3
- package/dist/src/programmes/policies/DisciplineCountry.js +5 -5
- package/dist/src/programmes/policies/DisciplineCountryAttendance.d.ts +4 -4
- package/dist/src/programmes/policies/DisciplineCountryAttendance.js +7 -7
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.d.ts +2 -2
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +6 -6
- package/dist/src/programmes/policies/DisciplineCountryFormat.d.ts +3 -3
- package/dist/src/programmes/policies/DisciplineCountryFormat.js +6 -6
- package/dist/src/programmes/policies/DisciplineDegree.d.ts +3 -3
- package/dist/src/programmes/policies/DisciplineDegree.js +5 -5
- package/dist/src/programmes/policies/DisciplineDuration.d.ts +3 -3
- package/dist/src/programmes/policies/DisciplineDuration.js +5 -5
- package/dist/src/programmes/policies/DisciplineEducationalForm.d.ts +2 -2
- package/dist/src/programmes/policies/DisciplineEducationalForm.js +5 -5
- package/dist/src/programmes/policies/DisciplineFormat.d.ts +3 -3
- package/dist/src/programmes/policies/DisciplineFormat.js +5 -5
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +3 -3
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +5 -5
- package/dist/src/programmes/policies/Duration.d.ts +3 -3
- package/dist/src/programmes/policies/Duration.js +4 -4
- package/dist/src/programmes/policies/Format.d.ts +3 -3
- package/dist/src/programmes/policies/Format.js +4 -4
- package/dist/src/programmes/policies/SpecialProgrammes.d.ts +3 -3
- package/dist/src/programmes/policies/SpecialProgrammes.js +4 -4
- package/dist/src/programmes/policies/TuitionFee.d.ts +3 -3
- package/dist/src/programmes/policies/TuitionFee.js +4 -4
- package/dist/src/programmes/policies/TuitionFeeAttendance.d.ts +4 -4
- package/dist/src/programmes/policies/TuitionFeeAttendance.js +6 -6
- package/dist/src/programmes/policies/TuitionFeeAttendanceDiscipline.d.ts +4 -4
- package/dist/src/programmes/policies/TuitionFeeAttendanceDiscipline.js +7 -7
- package/dist/src/programmes/policies/TuitionFeeContinent.d.ts +3 -3
- package/dist/src/programmes/policies/TuitionFeeContinent.js +5 -5
- package/dist/src/programmes/policies/TuitionFeeCountry.d.ts +3 -3
- package/dist/src/programmes/policies/TuitionFeeCountry.js +5 -5
- package/dist/src/programmes/policies/TuitionFeeDiscipline.d.ts +3 -3
- package/dist/src/programmes/policies/TuitionFeeDiscipline.js +5 -5
- package/dist/src/programmes/policies/Unfiltered.d.ts +2 -2
- package/dist/src/programmes/policies/Unfiltered.js +2 -2
- package/dist/src/programmes/policies/index.d.ts +4 -5
- package/dist/src/programmes/policies/index.js +4 -5
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.d.ts +2 -2
- package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.d.ts +2 -2
- package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.d.ts +2 -2
- package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.d.ts +2 -2
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.d.ts +2 -2
- package/dist/src/programmes/rules/DegreeDisciplineRule.d.ts +2 -2
- package/dist/src/programmes/rules/IndexableDegreeRule.d.ts +2 -2
- package/dist/src/programmes/rules/IndexableDegreeRule.js +1 -1
- package/dist/src/programmes/rules/IndexableDurationRule.d.ts +2 -2
- package/dist/src/programmes/rules/IndexableDurationRule.js +1 -1
- package/dist/src/programmes/rules/IndexableEducationalFormRule.d.ts +2 -2
- package/dist/src/programmes/rules/IndexableEducationalFormRule.js +1 -1
- package/dist/src/programmes/rules/IndexablePageNumberRule.js +1 -1
- package/dist/src/programmes/rules/MbaOrMscDegreeRule.d.ts +2 -2
- package/dist/src/programmes/rules/MinimumAmountOfResultsRule.d.ts +3 -3
- package/dist/src/programmes/rules/MinimumAmountOfResultsRule.js +1 -1
- package/dist/src/programmes/rules/NotDistanceLearningPortalRule.js +1 -1
- package/dist/src/programmes/rules/OneYearOnlyRule.d.ts +2 -2
- package/dist/src/programmes/types/IProgrammeSearchApplicationState.d.ts +1 -1
- package/dist/src/programmes/types/IProgrammeSearchDependencies.d.ts +1 -1
- package/dist/src/programmes/types/IProgrammeSearchSitemapDependencies.d.ts +1 -1
- package/dist/src/programmes/types/IProgrammeSitemapDependencies.d.ts +2 -2
- package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.d.ts +1 -1
- package/dist/src/scholarships/SearchIndexabilityManager.d.ts +5 -5
- package/dist/src/scholarships/SearchIndexabilityManager.js +1 -1
- package/dist/src/scholarships/policies/Area.d.ts +3 -3
- package/dist/src/scholarships/policies/Area.js +4 -4
- package/dist/src/scholarships/policies/Country.d.ts +3 -3
- package/dist/src/scholarships/policies/Country.js +4 -4
- package/dist/src/scholarships/policies/Discipline.d.ts +4 -4
- package/dist/src/scholarships/policies/Discipline.js +5 -5
- package/dist/src/scholarships/policies/DisciplineCountry.d.ts +3 -3
- package/dist/src/scholarships/policies/DisciplineCountry.js +5 -5
- package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.d.ts +2 -2
- package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.js +2 -2
- package/dist/src/scholarships/policies/Unfiltered.d.ts +2 -2
- package/dist/src/scholarships/policies/Unfiltered.js +2 -2
- package/dist/src/scholarships/policies/UniversityCountry.d.ts +3 -3
- package/dist/src/scholarships/policies/UniversityCountry.js +4 -4
- package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.d.ts +3 -3
- package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.js +1 -1
- package/dist/src/scholarships/rules/SearchVolumeAreasRule.d.ts +3 -3
- package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.d.ts +3 -3
- package/dist/src/scholarships/rules/SearchVolumeCountriesRule.d.ts +3 -3
- package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.d.ts +3 -3
- package/dist/src/scholarships/types/IScholarshipSeoDependencies.d.ts +1 -1
- package/dist/src/scholarships/types/IScholarshipSitemapDependencies.d.ts +2 -2
- package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +3 -3
- package/dist/src/sitemap-generator/IRankingApiClient.d.ts +1 -1
- package/dist/src/sitemap-generator/ISearchApiClient.d.ts +1 -1
- package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +3 -3
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +4 -4
- package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +8 -8
- package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.d.ts +3 -3
- package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +15 -15
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.d.ts +3 -3
- package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.js +7 -7
- package/dist/src/structured-data/OrganisationStructuredDataFactory.d.ts +1 -1
- package/dist/src/structured-data/ProgrammeStructuredDataFactory.d.ts +1 -1
- package/dist/tests/common/rules/NoFiltersSelectedRule.test.d.mts +1 -0
- package/dist/tests/common/rules/NoFiltersSelectedRule.test.mjs +40 -0
- package/dist/tests/common/rules/OnlyFiltersSelectedRule.test.d.mts +1 -0
- package/dist/tests/common/rules/OnlyFiltersSelectedRule.test.mjs +70 -0
- package/dist/tests/common/rules/SingleValueSelectedForFilterRule.test.d.mts +1 -0
- package/dist/tests/common/rules/SingleValueSelectedForFilterRule.test.mjs +54 -0
- package/dist/tests/organisations/policies/our-picks/Area.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/Area.test.mjs +125 -0
- package/dist/tests/organisations/policies/our-picks/AreaAttendance.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/AreaAttendance.test.mjs +238 -0
- package/dist/tests/organisations/policies/our-picks/Attendance.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/Attendance.test.mjs +119 -0
- package/dist/tests/organisations/policies/our-picks/Continent.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/Continent.test.mjs +105 -0
- package/dist/tests/organisations/policies/our-picks/Country.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/Country.test.mjs +109 -0
- package/dist/tests/organisations/policies/our-picks/CountryAreaCity.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/CountryAreaCity.test.mjs +152 -0
- package/dist/tests/organisations/policies/our-picks/CountryAttendance.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/CountryAttendance.test.mjs +223 -0
- package/dist/tests/organisations/policies/our-picks/CountryCity.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/CountryCity.test.mjs +109 -0
- package/dist/tests/organisations/policies/our-picks/Unfiltered.test.d.mts +1 -0
- package/dist/tests/organisations/policies/our-picks/Unfiltered.test.mjs +60 -0
- package/dist/tests/organisations/policies/ranked/RankedArea.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedArea.test.mjs +149 -0
- package/dist/tests/organisations/policies/ranked/RankedAreaDiscipline.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedAreaDiscipline.test.mjs +237 -0
- package/dist/tests/organisations/policies/ranked/RankedAttendance.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedAttendance.test.mjs +139 -0
- package/dist/tests/organisations/policies/ranked/RankedAttendanceDiscipline.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedAttendanceDiscipline.test.mjs +224 -0
- package/dist/tests/organisations/policies/ranked/RankedContinent.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedContinent.test.mjs +125 -0
- package/dist/tests/organisations/policies/ranked/RankedContinentAttendance.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedContinentAttendance.test.mjs +253 -0
- package/dist/tests/organisations/policies/ranked/RankedCountry.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedCountry.test.mjs +131 -0
- package/dist/tests/organisations/policies/ranked/RankedCountryAttendance.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedCountryAttendance.test.mjs +230 -0
- package/dist/tests/organisations/policies/ranked/RankedCountryDiscipline.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedCountryDiscipline.test.mjs +197 -0
- package/dist/tests/organisations/policies/ranked/RankedDiscipline.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedDiscipline.test.mjs +124 -0
- package/dist/tests/organisations/policies/ranked/RankedUnfiltered.test.d.mts +1 -0
- package/dist/tests/organisations/policies/ranked/RankedUnfiltered.test.mjs +75 -0
- package/dist/tests/organisations/rules/ContinentIsEuropeRule.test.d.mts +1 -0
- package/dist/tests/organisations/rules/ContinentIsEuropeRule.test.mjs +59 -0
- package/dist/tests/organisations/rules/MinimumAmountOfRankedResultsRule.test.d.mts +1 -0
- package/dist/tests/organisations/rules/MinimumAmountOfRankedResultsRule.test.mjs +77 -0
- package/dist/tests/organisations/rules/MinimumAmountOfResultsRule.test.d.mts +1 -0
- package/dist/tests/organisations/rules/MinimumAmountOfResultsRule.test.mjs +77 -0
- package/dist/tests/organisations/rules/OnlineAttendanceRule.test.d.mts +1 -0
- package/dist/tests/organisations/rules/OnlineAttendanceRule.test.mjs +59 -0
- package/dist/tests/organisations/rules/SearchVolumeAreasAttendanceRule.test.d.mts +1 -0
- package/dist/tests/organisations/rules/SearchVolumeAreasAttendanceRule.test.mjs +59 -0
- package/dist/tests/organisations/rules/SearchVolumeAreasDisciplineRule.test.d.mts +1 -0
- package/dist/tests/organisations/rules/SearchVolumeAreasDisciplineRule.test.mjs +59 -0
- package/dist/tests/organisations/rules/SearchVolumeCountriesAttendanceRule.test.d.mts +1 -0
- package/dist/tests/organisations/rules/SearchVolumeCountriesAttendanceRule.test.mjs +59 -0
- package/dist/tests/organisations/utils/SearchDependencies.util.d.mts +20 -0
- package/dist/tests/organisations/utils/SearchDependencies.util.mjs +88 -0
- package/dist/tests/organisations/utils/SitemapDependencies.util.d.mts +18 -0
- package/dist/tests/organisations/utils/SitemapDependencies.util.mjs +54 -0
- package/dist/tests/presenters/AreaPresenter.test.d.mts +1 -0
- package/dist/tests/presenters/AreaPresenter.test.mjs +46 -0
- package/dist/tests/presenters/AttendancePresenter.test.d.mts +1 -0
- package/dist/tests/presenters/AttendancePresenter.test.mjs +41 -0
- package/dist/tests/presenters/ContinentPresenter.test.d.mts +1 -0
- package/dist/tests/presenters/ContinentPresenter.test.mjs +44 -0
- package/dist/tests/presenters/CountryPresenter.test.d.mts +1 -0
- package/dist/tests/presenters/CountryPresenter.test.mjs +50 -0
- package/dist/tests/presenters/DegreePresenter.test.d.mts +1 -0
- package/dist/tests/presenters/DegreePresenter.test.mjs +51 -0
- package/dist/tests/presenters/DisciplinePresenter.test.d.mts +1 -0
- package/dist/tests/presenters/DisciplinePresenter.test.mjs +40 -0
- package/dist/tests/presenters/DurationPresenter.test.d.mts +1 -0
- package/dist/tests/presenters/DurationPresenter.test.mjs +64 -0
- package/dist/tests/presenters/EducationalFormPresenter.test.d.mts +1 -0
- package/dist/tests/presenters/EducationalFormPresenter.test.mjs +60 -0
- package/dist/tests/presenters/FormatPresenter.test.d.mts +1 -0
- package/dist/tests/presenters/FormatPresenter.test.mjs +43 -0
- package/dist/tests/presenters/SpecialProgrammesPresenter.test.d.mts +1 -0
- package/dist/tests/presenters/SpecialProgrammesPresenter.test.mjs +66 -0
- package/dist/tests/presenters/TuitionFeePresenter.test.d.mts +1 -0
- package/dist/tests/presenters/TuitionFeePresenter.test.mjs +52 -0
- package/dist/tests/programmes/policies/Area.test.d.mts +1 -0
- package/dist/tests/programmes/policies/Area.test.mjs +153 -0
- package/dist/tests/programmes/policies/Attendance.test.d.mts +1 -0
- package/dist/tests/programmes/policies/Attendance.test.mjs +173 -0
- package/dist/tests/programmes/policies/AttendanceDegree.test.d.mts +1 -0
- package/dist/tests/programmes/policies/AttendanceDegree.test.mjs +291 -0
- package/dist/tests/programmes/policies/Continent.test.d.mts +1 -0
- package/dist/tests/programmes/policies/Continent.test.mjs +169 -0
- package/dist/tests/programmes/policies/Country.test.d.mts +1 -0
- package/dist/tests/programmes/policies/Country.test.mjs +164 -0
- package/dist/tests/programmes/policies/CountryAttendance.test.d.mts +1 -0
- package/dist/tests/programmes/policies/CountryAttendance.test.mjs +251 -0
- package/dist/tests/programmes/policies/CountryAttendanceDegree.test.d.mts +1 -0
- package/dist/tests/programmes/policies/CountryAttendanceDegree.test.mjs +337 -0
- package/dist/tests/programmes/policies/CountryDegree.test.d.mts +1 -0
- package/dist/tests/programmes/policies/CountryDegree.test.mjs +262 -0
- package/dist/tests/programmes/policies/CountryDuration.test.d.mts +1 -0
- package/dist/tests/programmes/policies/CountryDuration.test.mjs +234 -0
- package/dist/tests/programmes/policies/CountryDurationDegree.test.d.mts +1 -0
- package/dist/tests/programmes/policies/CountryDurationDegree.test.mjs +304 -0
- package/dist/tests/programmes/policies/CountryEducationalForm.test.d.mts +1 -0
- package/dist/tests/programmes/policies/CountryEducationalForm.test.mjs +260 -0
- package/dist/tests/programmes/policies/CountryFormat.test.d.mts +1 -0
- package/dist/tests/programmes/policies/CountryFormat.test.mjs +253 -0
- package/dist/tests/programmes/policies/DegreeAttendanceDiscipline.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DegreeAttendanceDiscipline.test.mjs +179 -0
- package/dist/tests/programmes/policies/DegreeCountryAttendance.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DegreeCountryAttendance.test.mjs +267 -0
- package/dist/tests/programmes/policies/DegreeCountryTuitionFee.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DegreeCountryTuitionFee.test.mjs +217 -0
- package/dist/tests/programmes/policies/DegreeFormat.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DegreeFormat.test.mjs +221 -0
- package/dist/tests/programmes/policies/Discipline.test.d.mts +1 -0
- package/dist/tests/programmes/policies/Discipline.test.mjs +159 -0
- package/dist/tests/programmes/policies/DisciplineAttendance.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DisciplineAttendance.test.mjs +292 -0
- package/dist/tests/programmes/policies/DisciplineContinent.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DisciplineContinent.test.mjs +253 -0
- package/dist/tests/programmes/policies/DisciplineCountry.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DisciplineCountry.test.mjs +244 -0
- package/dist/tests/programmes/policies/DisciplineCountryEducationalForm.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DisciplineCountryEducationalForm.test.mjs +345 -0
- package/dist/tests/programmes/policies/DisciplineDegree.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DisciplineDegree.test.mjs +273 -0
- package/dist/tests/programmes/policies/DisciplineDuration.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DisciplineDuration.test.mjs +278 -0
- package/dist/tests/programmes/policies/DisciplineEducationalForm.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DisciplineEducationalForm.test.mjs +302 -0
- package/dist/tests/programmes/policies/DisciplineFormat.test.d.mts +1 -0
- package/dist/tests/programmes/policies/DisciplineFormat.test.mjs +266 -0
- package/dist/tests/programmes/policies/Duration.test.d.mts +1 -0
- package/dist/tests/programmes/policies/Duration.test.mjs +179 -0
- package/dist/tests/programmes/policies/Format.test.d.mts +1 -0
- package/dist/tests/programmes/policies/Format.test.mjs +117 -0
- package/dist/tests/programmes/policies/NewRulesValidation.test.d.mts +1 -0
- package/dist/tests/programmes/policies/NewRulesValidation.test.mjs +320 -0
- package/dist/tests/programmes/policies/SpecialProgrammes.test.d.mts +1 -0
- package/dist/tests/programmes/policies/SpecialProgrammes.test.mjs +171 -0
- package/dist/tests/programmes/policies/TuitionFeeAttendanceDiscipline.test.d.mts +1 -0
- package/dist/tests/programmes/policies/TuitionFeeAttendanceDiscipline.test.mjs +360 -0
- package/dist/tests/programmes/policies/TuitionFeeContinent.test.d.mts +1 -0
- package/dist/tests/programmes/policies/TuitionFeeContinent.test.mjs +293 -0
- package/dist/tests/programmes/policies/TuitionFeeCountry.test.d.mts +1 -0
- package/dist/tests/programmes/policies/TuitionFeeCountry.test.mjs +266 -0
- package/dist/tests/programmes/policies/TuitionFeeDiscipline.test.d.mts +1 -0
- package/dist/tests/programmes/policies/TuitionFeeDiscipline.test.mjs +267 -0
- package/dist/tests/programmes/policies/Unfiltered.test.d.mts +1 -0
- package/dist/tests/programmes/policies/Unfiltered.test.mjs +90 -0
- package/dist/tests/programmes/rules/AffordableTuitionFeeRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/AffordableTuitionFeeRule.test.mjs +27 -0
- package/dist/tests/programmes/rules/DegreeCountrySpecificRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/DegreeCountrySpecificRule.test.mjs +121 -0
- package/dist/tests/programmes/rules/DegreeDisciplineRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/DegreeDisciplineRule.test.mjs +169 -0
- package/dist/tests/programmes/rules/IndexableDegreeRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/IndexableDegreeRule.test.mjs +101 -0
- package/dist/tests/programmes/rules/IndexableDurationRule.test..d.mts +1 -0
- package/dist/tests/programmes/rules/IndexableDurationRule.test..mjs +25 -0
- package/dist/tests/programmes/rules/IndexableEducationalFormRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/IndexableEducationalFormRule.test.mjs +27 -0
- package/dist/tests/programmes/rules/IndexablePageNumberRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/IndexablePageNumberRule.test.mjs +51 -0
- package/dist/tests/programmes/rules/MbaDegreeRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/MbaDegreeRule.test.mjs +55 -0
- package/dist/tests/programmes/rules/MbaOrMscDegreeRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/MbaOrMscDegreeRule.test.mjs +53 -0
- package/dist/tests/programmes/rules/MinimumAmountOfResultsRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/MinimumAmountOfResultsRule.test.mjs +79 -0
- package/dist/tests/programmes/rules/NotDistanceLearningPortalRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/NotDistanceLearningPortalRule.test.mjs +57 -0
- package/dist/tests/programmes/rules/OneYearDurationRule.test..d.mts +1 -0
- package/dist/tests/programmes/rules/OneYearDurationRule.test..mjs +40 -0
- package/dist/tests/programmes/rules/OnlineAttendanceRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/OnlineAttendanceRule.test.mjs +69 -0
- package/dist/tests/programmes/rules/PartTimeFormatRule.test.d.mts +1 -0
- package/dist/tests/programmes/rules/PartTimeFormatRule.test.mjs +27 -0
- package/dist/tests/programmes/utils/SearchDependencies.util.d.mts +16 -0
- package/dist/tests/programmes/utils/SearchDependencies.util.mjs +73 -0
- package/dist/tests/programmes/utils/SitemapDependencies.util.d.mts +15 -0
- package/dist/tests/programmes/utils/SitemapDependencies.util.mjs +49 -0
- package/dist/tests/scholarships/policies/Area.test.d.mts +1 -0
- package/dist/tests/scholarships/policies/Area.test.mjs +121 -0
- package/dist/tests/scholarships/policies/Country.test.d.mts +1 -0
- package/dist/tests/scholarships/policies/Country.test.mjs +97 -0
- package/dist/tests/scholarships/policies/Discipline.test.d.mts +1 -0
- package/dist/tests/scholarships/policies/Discipline.test.mjs +93 -0
- package/dist/tests/scholarships/policies/DisciplineCountry.test.d.mts +1 -0
- package/dist/tests/scholarships/policies/DisciplineCountry.test.mjs +151 -0
- package/dist/tests/scholarships/policies/Unfiltered.test.d.mts +1 -0
- package/dist/tests/scholarships/policies/Unfiltered.test.mjs +44 -0
- package/dist/tests/scholarships/policies/UniversityCountry.test.d.mts +1 -0
- package/dist/tests/scholarships/policies/UniversityCountry.test.mjs +115 -0
- package/dist/tests/scholarships/rules/ExceptAustaliaAreasRule.test.d.mts +1 -0
- package/dist/tests/scholarships/rules/ExceptAustaliaAreasRule.test.mjs +64 -0
- package/dist/tests/scholarships/rules/SearchVolumeAreasRule.test.d.mts +1 -0
- package/dist/tests/scholarships/rules/SearchVolumeAreasRule.test.mjs +62 -0
- package/dist/tests/scholarships/rules/SearchVolumeCountriesDisciplinesRule.test.d.mts +1 -0
- package/dist/tests/scholarships/rules/SearchVolumeCountriesDisciplinesRule.test.mjs +114 -0
- package/dist/tests/scholarships/rules/SearchVolumeCountriesRule.test.d.mts +1 -0
- package/dist/tests/scholarships/rules/SearchVolumeCountriesRule.test.mjs +62 -0
- package/dist/tests/scholarships/rules/SearchVolumeDisciplinesRule.test.d.mts +1 -0
- package/dist/tests/scholarships/rules/SearchVolumeDisciplinesRule.test.mjs +62 -0
- package/dist/tests/scholarships/utils/SearchDependencies.util.d.mts +16 -0
- package/dist/tests/scholarships/utils/SearchDependencies.util.mjs +70 -0
- package/dist/tests/scholarships/utils/SitemapDependencies.util.d.mts +11 -0
- package/dist/tests/scholarships/utils/SitemapDependencies.util.mjs +33 -0
- package/dist/tests/sitemap-generator/BaseSitemapUrlGeneratorManager.test.d.mts +1 -0
- package/dist/tests/sitemap-generator/BaseSitemapUrlGeneratorManager.test.mjs +82 -0
- package/dist/tests/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.test.d.mts +1 -0
- package/dist/tests/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.test.mjs +85 -0
- package/dist/tests/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.test.d.mts +1 -0
- package/dist/tests/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.test.mjs +77 -0
- package/dist/tests/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.test.d.mts +1 -0
- package/dist/tests/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.test.mjs +60 -0
- package/dist/tests/structured-data/OrganisationStructuredDataFactory.test.d.mts +1 -0
- package/dist/tests/structured-data/OrganisationStructuredDataFactory.test.mjs +334 -0
- package/dist/tests/structured-data/ProgrammeStructuredDataFactory.test.d.mts +1 -0
- package/dist/tests/structured-data/ProgrammeStructuredDataFactory.test.mjs +562 -0
- package/dist/tests/structured-data/ScholarshipStructuredDataFactory.test.d.mts +1 -0
- package/dist/tests/structured-data/ScholarshipStructuredDataFactory.test.mjs +292 -0
- package/dist/tests/structured-data/SearchStructuredDataFactory.paywall.test.d.mts +1 -0
- package/dist/tests/structured-data/SearchStructuredDataFactory.paywall.test.mjs +258 -0
- package/package.json +1 -1
- package/dist/src/programmes/policies/AttendanceTuitionFee.d.ts +0 -17
- package/dist/src/programmes/policies/AttendanceTuitionFee.js +0 -51
- package/dist/src/programmes/policies/ContinentTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/ContinentTuitionFee.js +0 -46
- package/dist/src/programmes/policies/CountryTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/CountryTuitionFee.js +0 -46
- package/dist/src/programmes/policies/DegreeAreaTuitionFee.d.ts +0 -16
- package/dist/src/programmes/policies/DisciplineTuitionFee.js +0 -46
- package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.d.ts +0 -17
- package/dist/src/programmes/policies/DisciplineTuitionFeeAttendance.js +0 -54
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
3
|
+
import { SearchDependencies } from '../../../organisations/utils/SearchDependencies.util.mjs';
|
|
4
|
+
import { SitemapDependencies } from '../../utils/SitemapDependencies.util.mjs';
|
|
5
|
+
import { SortingOptions } from '@/enums/SortingOptions';
|
|
6
|
+
import { RankedCountryDiscipline } from '@/organisations/policies';
|
|
7
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
8
|
+
import { DisciplinePresenter } from '@/presenters/DisciplinePresenter';
|
|
9
|
+
import { CountryPresenter } from '@/presenters/CountryPresenter';
|
|
10
|
+
describe('Policy:RankedCountryDiscipline', () => {
|
|
11
|
+
describe('shouldIndex', () => {
|
|
12
|
+
let searchDependenciesHelper;
|
|
13
|
+
let rankedCountryDisciplinePolicy;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
searchDependenciesHelper = new SearchDependencies();
|
|
16
|
+
rankedCountryDisciplinePolicy = new RankedCountryDiscipline(searchDependenciesHelper.dependencies);
|
|
17
|
+
searchDependenciesHelper.setSortingState(SortingOptions.UNIVERSITY_META_RANKING);
|
|
18
|
+
searchDependenciesHelper.setRankedResultsCount(10);
|
|
19
|
+
});
|
|
20
|
+
it('Should return true when all conditions are met', async () => {
|
|
21
|
+
const countryId = '30'; // UK
|
|
22
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
23
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([
|
|
24
|
+
[FilterKey.COUNTRY, [countryId]],
|
|
25
|
+
[FilterKey.DISCIPLINES, [disciplineId]]
|
|
26
|
+
]));
|
|
27
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
28
|
+
expect(result).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
it.each([[PortalType.BACHELOR], [PortalType.PHD], [PortalType.SHORT]])('Should return false when the selected portal type is %s', async (portalType) => {
|
|
31
|
+
const countryId = '30'; // UK
|
|
32
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
33
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([
|
|
34
|
+
[FilterKey.COUNTRY, [countryId]],
|
|
35
|
+
[FilterKey.DISCIPLINES, [disciplineId]]
|
|
36
|
+
]));
|
|
37
|
+
searchDependenciesHelper.setPortalType(portalType);
|
|
38
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
39
|
+
expect(result).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
it('Should return false when area when Our Picks sorting is selected', async () => {
|
|
42
|
+
searchDependenciesHelper.setSortingState(SortingOptions.OUR_PICKS);
|
|
43
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
44
|
+
expect(result).toBe(false);
|
|
45
|
+
});
|
|
46
|
+
it('Should return false when multiple countries are selected', async () => {
|
|
47
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
48
|
+
const firstCountryId = '30'; // UK
|
|
49
|
+
const secondCountryId = '21'; // PT
|
|
50
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([
|
|
51
|
+
[FilterKey.DISCIPLINES, [disciplineId]],
|
|
52
|
+
[FilterKey.COUNTRY, [firstCountryId, secondCountryId]]
|
|
53
|
+
]));
|
|
54
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
55
|
+
expect(result).toBe(false);
|
|
56
|
+
});
|
|
57
|
+
it('Should return false when multiple disciplines are selected', async () => {
|
|
58
|
+
const countryId = '30'; // UK
|
|
59
|
+
const firstDisciplineId = '54'; // Agreiculture & Forestry
|
|
60
|
+
const secondDisciplineId = '12'; // Applied Sciences & Professions
|
|
61
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([
|
|
62
|
+
[FilterKey.COUNTRY, [countryId]],
|
|
63
|
+
[FilterKey.DISCIPLINES, [firstDisciplineId, secondDisciplineId]]
|
|
64
|
+
]));
|
|
65
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
66
|
+
expect(result).toBe(false);
|
|
67
|
+
});
|
|
68
|
+
it('Should return false when no countries are selected', async () => {
|
|
69
|
+
const disciplineId = '54'; // Agreiculture & Forestry
|
|
70
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DISCIPLINES, [disciplineId]]]));
|
|
71
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
72
|
+
expect(result).toBe(false);
|
|
73
|
+
});
|
|
74
|
+
it('Should return false when no disciplines are selected', async () => {
|
|
75
|
+
const countryId = '30'; // UK
|
|
76
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.COUNTRY, [countryId]]]));
|
|
77
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
78
|
+
expect(result).toBe(false);
|
|
79
|
+
});
|
|
80
|
+
it('Should return false when other filters are selected', async () => {
|
|
81
|
+
const countryId = '30'; // UK
|
|
82
|
+
const disciplineId = '12'; // Applied Sciences & Professions
|
|
83
|
+
const attendance = 'online';
|
|
84
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([
|
|
85
|
+
[FilterKey.COUNTRY, [countryId]],
|
|
86
|
+
[FilterKey.DISCIPLINES, [disciplineId]],
|
|
87
|
+
[FilterKey.DELIVERY_METHOD, [attendance]]
|
|
88
|
+
]));
|
|
89
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
90
|
+
expect(result).toBe(false);
|
|
91
|
+
});
|
|
92
|
+
it('Should return false when there are less then 2 ranked results', async () => {
|
|
93
|
+
const rankedResultsCount = 1;
|
|
94
|
+
const countryId = '30'; // UK
|
|
95
|
+
const disciplineId = '12'; // Applied Sciences & Professions
|
|
96
|
+
searchDependenciesHelper.setRankedResultsCount(rankedResultsCount);
|
|
97
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([
|
|
98
|
+
[FilterKey.COUNTRY, [countryId]],
|
|
99
|
+
[FilterKey.DISCIPLINES, [disciplineId]]
|
|
100
|
+
]));
|
|
101
|
+
const result = await rankedCountryDisciplinePolicy.shouldIndex();
|
|
102
|
+
expect(result).toBe(false);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
describe('generateSitemapUrls', () => {
|
|
106
|
+
const pathPrefix = 'rankings/';
|
|
107
|
+
const enoughRankedOrganisations = 10;
|
|
108
|
+
const noRankedOrganisations = 0;
|
|
109
|
+
let sitemapDependenciesHelper;
|
|
110
|
+
let rankedCountryDisciplinePolicy;
|
|
111
|
+
let countryFragments;
|
|
112
|
+
let disciplineFragments;
|
|
113
|
+
beforeEach(() => {
|
|
114
|
+
sitemapDependenciesHelper = new SitemapDependencies();
|
|
115
|
+
rankedCountryDisciplinePolicy = new RankedCountryDiscipline(sitemapDependenciesHelper.dependencies);
|
|
116
|
+
vi.spyOn(CountryPresenter, 'getInstance').mockReturnValue({
|
|
117
|
+
getFragments: vi.fn(() => countryFragments),
|
|
118
|
+
generatePaths: vi.fn(() => countryFragments),
|
|
119
|
+
fragments: countryFragments
|
|
120
|
+
});
|
|
121
|
+
vi.spyOn(DisciplinePresenter, 'getInstance').mockReturnValue({
|
|
122
|
+
getFragments: vi.fn(() => disciplineFragments),
|
|
123
|
+
generatePaths: vi.fn(() => disciplineFragments),
|
|
124
|
+
fragments: disciplineFragments
|
|
125
|
+
});
|
|
126
|
+
sitemapDependenciesHelper.setRankedOrganisationCount(enoughRankedOrganisations);
|
|
127
|
+
});
|
|
128
|
+
it('Should return path when all conditions are met', async () => {
|
|
129
|
+
const countryId = '30'; // UK
|
|
130
|
+
const countryIso = 'UK';
|
|
131
|
+
const countryPath = 'country-path';
|
|
132
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
133
|
+
const disciplinePath = 'discipline-path';
|
|
134
|
+
countryFragments = [
|
|
135
|
+
{
|
|
136
|
+
id: countryId,
|
|
137
|
+
iso: countryIso,
|
|
138
|
+
path: countryPath
|
|
139
|
+
}
|
|
140
|
+
];
|
|
141
|
+
disciplineFragments = [
|
|
142
|
+
{
|
|
143
|
+
id: disciplineId,
|
|
144
|
+
path: disciplinePath
|
|
145
|
+
}
|
|
146
|
+
];
|
|
147
|
+
const result = await rankedCountryDisciplinePolicy.generateSitemapUrls();
|
|
148
|
+
expect(result).toEqual([`${pathPrefix}${countryPath}/${disciplinePath}`]);
|
|
149
|
+
});
|
|
150
|
+
it.each([[PortalType.BACHELOR], [PortalType.PHD], [PortalType.SHORT]])('Should not return path when portal type is %s', async (portalType) => {
|
|
151
|
+
const countryId = '30'; // UK
|
|
152
|
+
const countryIso = 'UK';
|
|
153
|
+
const countryPath = 'country-path';
|
|
154
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
155
|
+
const disciplinePath = 'discipline-path';
|
|
156
|
+
countryFragments = [
|
|
157
|
+
{
|
|
158
|
+
id: countryId,
|
|
159
|
+
iso: countryIso,
|
|
160
|
+
path: countryPath
|
|
161
|
+
}
|
|
162
|
+
];
|
|
163
|
+
disciplineFragments = [
|
|
164
|
+
{
|
|
165
|
+
id: disciplineId,
|
|
166
|
+
path: disciplinePath
|
|
167
|
+
}
|
|
168
|
+
];
|
|
169
|
+
sitemapDependenciesHelper.setPortalType(portalType);
|
|
170
|
+
const result = await rankedCountryDisciplinePolicy.generateSitemapUrls();
|
|
171
|
+
expect(result).toEqual([]);
|
|
172
|
+
});
|
|
173
|
+
it('Should not return path when there is no ranked organisation', async () => {
|
|
174
|
+
const countryId = '30'; // UK
|
|
175
|
+
const countryIso = 'UK';
|
|
176
|
+
const countryPath = 'country-path';
|
|
177
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
178
|
+
const disciplinePath = 'discipline-path';
|
|
179
|
+
countryFragments = [
|
|
180
|
+
{
|
|
181
|
+
id: countryId,
|
|
182
|
+
iso: countryIso,
|
|
183
|
+
path: countryPath
|
|
184
|
+
}
|
|
185
|
+
];
|
|
186
|
+
disciplineFragments = [
|
|
187
|
+
{
|
|
188
|
+
id: disciplineId,
|
|
189
|
+
path: disciplinePath
|
|
190
|
+
}
|
|
191
|
+
];
|
|
192
|
+
sitemapDependenciesHelper.setRankedOrganisationCount(noRankedOrganisations);
|
|
193
|
+
const result = await rankedCountryDisciplinePolicy.generateSitemapUrls();
|
|
194
|
+
expect(result).toEqual([]);
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
3
|
+
import { SearchDependencies } from '../../../organisations/utils/SearchDependencies.util.mjs';
|
|
4
|
+
import { SitemapDependencies } from '../../utils/SitemapDependencies.util.mjs';
|
|
5
|
+
import { SortingOptions } from '@/enums/SortingOptions';
|
|
6
|
+
import { RankedDiscipline } from '@/organisations/policies';
|
|
7
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
8
|
+
import { DisciplinePresenter } from '@/presenters/DisciplinePresenter';
|
|
9
|
+
describe('Policy:RankedDiscipline', () => {
|
|
10
|
+
describe('shouldIndex', () => {
|
|
11
|
+
let searchDependenciesHelper;
|
|
12
|
+
let rankedDisciplinePolicy;
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
searchDependenciesHelper = new SearchDependencies();
|
|
15
|
+
rankedDisciplinePolicy = new RankedDiscipline(searchDependenciesHelper.dependencies);
|
|
16
|
+
searchDependenciesHelper.setSortingState(SortingOptions.UNIVERSITY_META_RANKING);
|
|
17
|
+
searchDependenciesHelper.setRankedResultsCount(10);
|
|
18
|
+
});
|
|
19
|
+
it('Should return true when all conditions are met', async () => {
|
|
20
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
21
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DISCIPLINES, [disciplineId]]]));
|
|
22
|
+
const result = await rankedDisciplinePolicy.shouldIndex();
|
|
23
|
+
expect(result).toBe(true);
|
|
24
|
+
});
|
|
25
|
+
it.each([[PortalType.BACHELOR], [PortalType.PHD], [PortalType.SHORT]])('Should return false when the selected portal type is %s', async (portalType) => {
|
|
26
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
27
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DISCIPLINES, [disciplineId]]]));
|
|
28
|
+
searchDependenciesHelper.setPortalType(portalType);
|
|
29
|
+
const result = await rankedDisciplinePolicy.shouldIndex();
|
|
30
|
+
expect(result).toBe(false);
|
|
31
|
+
});
|
|
32
|
+
it('Should return false when area when Our Picks sorting is selected', async () => {
|
|
33
|
+
searchDependenciesHelper.setSortingState(SortingOptions.OUR_PICKS);
|
|
34
|
+
const result = await rankedDisciplinePolicy.shouldIndex();
|
|
35
|
+
expect(result).toBe(false);
|
|
36
|
+
});
|
|
37
|
+
it('Should return false when multiple disciplines are selected', async () => {
|
|
38
|
+
const firstDisciplineId = '54'; // Agriculture & Forestry
|
|
39
|
+
const secondDisciplineId = '12'; // Applied Sciences & Professions
|
|
40
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DISCIPLINES, [firstDisciplineId, secondDisciplineId]]]));
|
|
41
|
+
const result = await rankedDisciplinePolicy.shouldIndex();
|
|
42
|
+
expect(result).toBe(false);
|
|
43
|
+
});
|
|
44
|
+
it('Should return false when no disciplines are selected', async () => {
|
|
45
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([]));
|
|
46
|
+
const result = await rankedDisciplinePolicy.shouldIndex();
|
|
47
|
+
expect(result).toBe(false);
|
|
48
|
+
});
|
|
49
|
+
it('Should return false when other filters are selected', async () => {
|
|
50
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
51
|
+
const countryId = '30'; // UK
|
|
52
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([
|
|
53
|
+
[FilterKey.COUNTRY, [countryId]],
|
|
54
|
+
[FilterKey.DISCIPLINES, [disciplineId]]
|
|
55
|
+
]));
|
|
56
|
+
const result = await rankedDisciplinePolicy.shouldIndex();
|
|
57
|
+
expect(result).toBe(false);
|
|
58
|
+
});
|
|
59
|
+
it('Should return false when there are less then 2 ranked results', async () => {
|
|
60
|
+
const rankedResultsCount = 1;
|
|
61
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
62
|
+
searchDependenciesHelper.setRankedResultsCount(rankedResultsCount);
|
|
63
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DISCIPLINES, [disciplineId]]]));
|
|
64
|
+
const result = await rankedDisciplinePolicy.shouldIndex();
|
|
65
|
+
expect(result).toBe(false);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
describe('generateSitemapUrls', () => {
|
|
69
|
+
const pathPrefix = 'rankings/';
|
|
70
|
+
const enoughRankedOrganisations = 10;
|
|
71
|
+
const noRankedOrganisations = 0;
|
|
72
|
+
let sitemapDependenciesHelper;
|
|
73
|
+
let rankedDisciplinePolicy;
|
|
74
|
+
let disciplineFragments;
|
|
75
|
+
beforeEach(() => {
|
|
76
|
+
sitemapDependenciesHelper = new SitemapDependencies();
|
|
77
|
+
rankedDisciplinePolicy = new RankedDiscipline(sitemapDependenciesHelper.dependencies);
|
|
78
|
+
vi.spyOn(DisciplinePresenter, 'getInstance').mockReturnValue({
|
|
79
|
+
getFragments: vi.fn(() => disciplineFragments),
|
|
80
|
+
generatePaths: vi.fn(() => disciplineFragments),
|
|
81
|
+
fragments: disciplineFragments
|
|
82
|
+
});
|
|
83
|
+
sitemapDependenciesHelper.setRankedOrganisationCount(enoughRankedOrganisations);
|
|
84
|
+
});
|
|
85
|
+
it('Should return path when all conditions are met', async () => {
|
|
86
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
87
|
+
const disciplinePath = 'discipline-path';
|
|
88
|
+
disciplineFragments = [
|
|
89
|
+
{
|
|
90
|
+
id: disciplineId,
|
|
91
|
+
path: disciplinePath
|
|
92
|
+
}
|
|
93
|
+
];
|
|
94
|
+
const result = await rankedDisciplinePolicy.generateSitemapUrls();
|
|
95
|
+
expect(result).toEqual([`${pathPrefix}${disciplinePath}`]);
|
|
96
|
+
});
|
|
97
|
+
it.each([[PortalType.BACHELOR], [PortalType.PHD], [PortalType.SHORT]])('Should not return path when portal type is %s', async (portalType) => {
|
|
98
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
99
|
+
const disciplinePath = 'discipline-path';
|
|
100
|
+
disciplineFragments = [
|
|
101
|
+
{
|
|
102
|
+
id: disciplineId,
|
|
103
|
+
path: disciplinePath
|
|
104
|
+
}
|
|
105
|
+
];
|
|
106
|
+
sitemapDependenciesHelper.setPortalType(portalType);
|
|
107
|
+
const result = await rankedDisciplinePolicy.generateSitemapUrls();
|
|
108
|
+
expect(result).toEqual([]);
|
|
109
|
+
});
|
|
110
|
+
it('Should not return path when there is no ranked organisation', async () => {
|
|
111
|
+
const disciplineId = '54'; // Agriculture & Forestry
|
|
112
|
+
const disciplinePath = 'discipline-path';
|
|
113
|
+
disciplineFragments = [
|
|
114
|
+
{
|
|
115
|
+
id: disciplineId,
|
|
116
|
+
path: disciplinePath
|
|
117
|
+
}
|
|
118
|
+
];
|
|
119
|
+
sitemapDependenciesHelper.setRankedOrganisationCount(noRankedOrganisations);
|
|
120
|
+
const result = await rankedDisciplinePolicy.generateSitemapUrls();
|
|
121
|
+
expect(result).toEqual([]);
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach } from 'vitest';
|
|
2
|
+
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
3
|
+
import { SearchDependencies } from '../../../organisations/utils/SearchDependencies.util.mjs';
|
|
4
|
+
import { SitemapDependencies } from '../../utils/SitemapDependencies.util.mjs';
|
|
5
|
+
import { SortingOptions } from '@/enums/SortingOptions';
|
|
6
|
+
import { RankedUnfiltered } from '@/organisations/policies';
|
|
7
|
+
import { PortalType } from '@studyportals/domain-client';
|
|
8
|
+
describe('Policy:RankedUnfiltered', () => {
|
|
9
|
+
describe('shouldIndex', () => {
|
|
10
|
+
let searchDependenciesHelper;
|
|
11
|
+
let rankedUnfilteredPolicy;
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
searchDependenciesHelper = new SearchDependencies();
|
|
14
|
+
rankedUnfilteredPolicy = new RankedUnfiltered(searchDependenciesHelper.dependencies);
|
|
15
|
+
searchDependenciesHelper.setSortingState(SortingOptions.UNIVERSITY_META_RANKING);
|
|
16
|
+
searchDependenciesHelper.setRankedResultsCount(10);
|
|
17
|
+
});
|
|
18
|
+
it('Should return true when all conditions are met', async () => {
|
|
19
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([]));
|
|
20
|
+
const result = await rankedUnfilteredPolicy.shouldIndex();
|
|
21
|
+
expect(result).toBe(true);
|
|
22
|
+
});
|
|
23
|
+
it.each([[PortalType.BACHELOR], [PortalType.PHD], [PortalType.SHORT]])('Should return false when the selected portal type is %s', async (portalType) => {
|
|
24
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([]));
|
|
25
|
+
searchDependenciesHelper.setPortalType(portalType);
|
|
26
|
+
const result = await rankedUnfilteredPolicy.shouldIndex();
|
|
27
|
+
expect(result).toBe(false);
|
|
28
|
+
});
|
|
29
|
+
it('Should return false when area when Our Picks sorting is selected', async () => {
|
|
30
|
+
searchDependenciesHelper.setSortingState(SortingOptions.OUR_PICKS);
|
|
31
|
+
const result = await rankedUnfilteredPolicy.shouldIndex();
|
|
32
|
+
expect(result).toBe(false);
|
|
33
|
+
});
|
|
34
|
+
it('Should return false when any filter is selected', async () => {
|
|
35
|
+
const countryId = '30'; // UK
|
|
36
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.COUNTRY, [countryId]]]));
|
|
37
|
+
const result = await rankedUnfilteredPolicy.shouldIndex();
|
|
38
|
+
expect(result).toBe(false);
|
|
39
|
+
});
|
|
40
|
+
it('Should return false when there are less then 2 ranked results', async () => {
|
|
41
|
+
const rankedResultsCount = 1;
|
|
42
|
+
searchDependenciesHelper.setRankedResultsCount(rankedResultsCount);
|
|
43
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([]));
|
|
44
|
+
const result = await rankedUnfilteredPolicy.shouldIndex();
|
|
45
|
+
expect(result).toBe(false);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('generateSitemapUrls', () => {
|
|
49
|
+
const pathPrefix = 'rankings/';
|
|
50
|
+
const enoughRankedOrganisations = 10;
|
|
51
|
+
const noRankedOrganisations = 0;
|
|
52
|
+
let sitemapDependenciesHelper;
|
|
53
|
+
let rankedUnfilteredPolicy;
|
|
54
|
+
beforeEach(() => {
|
|
55
|
+
sitemapDependenciesHelper = new SitemapDependencies();
|
|
56
|
+
rankedUnfilteredPolicy = new RankedUnfiltered(sitemapDependenciesHelper.dependencies);
|
|
57
|
+
sitemapDependenciesHelper.setRankedOrganisationCount(enoughRankedOrganisations);
|
|
58
|
+
});
|
|
59
|
+
it('Should return path when all conditions are met', async () => {
|
|
60
|
+
const result = await rankedUnfilteredPolicy.generateSitemapUrls();
|
|
61
|
+
const expectedPath = "rankings";
|
|
62
|
+
expect(result).toEqual([expectedPath]);
|
|
63
|
+
});
|
|
64
|
+
it.each([[PortalType.BACHELOR], [PortalType.PHD], [PortalType.SHORT]])('Should not return path when portal type is %s', async (portalType) => {
|
|
65
|
+
sitemapDependenciesHelper.setPortalType(portalType);
|
|
66
|
+
const result = await rankedUnfilteredPolicy.generateSitemapUrls();
|
|
67
|
+
expect(result).toEqual([]);
|
|
68
|
+
});
|
|
69
|
+
it('Should not return path when there is no ranked organisation', async () => {
|
|
70
|
+
sitemapDependenciesHelper.setRankedOrganisationCount(noRankedOrganisations);
|
|
71
|
+
const result = await rankedUnfilteredPolicy.generateSitemapUrls();
|
|
72
|
+
expect(result).toEqual([]);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
+
import { SearchDependencies } from '../utils/SearchDependencies.util.mjs';
|
|
3
|
+
import { ContinentIsEuropeRule } from '@/organisations/rules/ContinentIsEuropeRule';
|
|
4
|
+
import { FilterKey } from '@studyportals/search-filters/server-side';
|
|
5
|
+
describe('Rule:ContinentIsEurope', () => {
|
|
6
|
+
describe('forSearch', () => {
|
|
7
|
+
let searchDependenciesHelper;
|
|
8
|
+
let rule;
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
searchDependenciesHelper = new SearchDependencies();
|
|
11
|
+
rule = new ContinentIsEuropeRule();
|
|
12
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([]));
|
|
13
|
+
});
|
|
14
|
+
it('Returns true if selected continent is Europe', async () => {
|
|
15
|
+
const continentId = '1'; // Europe
|
|
16
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.CONTINENT, [continentId]]]));
|
|
17
|
+
const result = await rule.forSearch(searchDependenciesHelper.dependencies);
|
|
18
|
+
expect(result).toBe(true);
|
|
19
|
+
});
|
|
20
|
+
it('Returns false if selected continent is not Europe', async () => {
|
|
21
|
+
const continentId = '9'; // Asia
|
|
22
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.CONTINENT, [continentId]]]));
|
|
23
|
+
const result = await rule.forSearch(searchDependenciesHelper.dependencies);
|
|
24
|
+
expect(result).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
describe('forSitemapGenerator', () => {
|
|
28
|
+
let rule;
|
|
29
|
+
beforeEach(() => {
|
|
30
|
+
rule = new ContinentIsEuropeRule();
|
|
31
|
+
});
|
|
32
|
+
it('Returns true if selected continent is Europe', async () => {
|
|
33
|
+
const continentId = '1'; // Europe
|
|
34
|
+
const filterKeyValues = new Map([[FilterKey.CONTINENT, [continentId]]]);
|
|
35
|
+
const result = await rule.forSitemapGenerator(filterKeyValues);
|
|
36
|
+
expect(result).toBe(true);
|
|
37
|
+
});
|
|
38
|
+
it('Returns false if selected continent is not Europe', async () => {
|
|
39
|
+
const continentId = '9'; // Asia
|
|
40
|
+
const filterKeyValues = new Map([[FilterKey.CONTINENT, [continentId]]]);
|
|
41
|
+
const result = await rule.forSitemapGenerator(filterKeyValues);
|
|
42
|
+
expect(result).toBe(false);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
describe('forDocumentation', () => {
|
|
46
|
+
let rule;
|
|
47
|
+
beforeEach(() => {
|
|
48
|
+
rule = new ContinentIsEuropeRule();
|
|
49
|
+
});
|
|
50
|
+
it('Returns description', () => {
|
|
51
|
+
const result = rule.getName();
|
|
52
|
+
expect(typeof result).toBe('string');
|
|
53
|
+
});
|
|
54
|
+
it('Returns name', () => {
|
|
55
|
+
const result = rule.getDescription();
|
|
56
|
+
expect(typeof result).toBe('string');
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
+
import { SearchDependencies } from '../utils/SearchDependencies.util.mjs';
|
|
3
|
+
import { SitemapDependencies } from '../utils/SitemapDependencies.util.mjs';
|
|
4
|
+
import { MinimumAmountOfRankedResultsRule } from '@/organisations/rules/MinimumAmountOfRankedResultsRule';
|
|
5
|
+
import { DependencyMissingError } from '@/errors/DependencyMissingError';
|
|
6
|
+
describe('Rule:MinimumAmountOfRankedResultsRule', () => {
|
|
7
|
+
describe('forSearch', () => {
|
|
8
|
+
let searchDependenciesHelper;
|
|
9
|
+
let rule;
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
searchDependenciesHelper = new SearchDependencies();
|
|
12
|
+
rule = new MinimumAmountOfRankedResultsRule();
|
|
13
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([]));
|
|
14
|
+
});
|
|
15
|
+
it('Returns true if ranked result count is at least 7', async () => {
|
|
16
|
+
const rankedResultsCount = 7;
|
|
17
|
+
searchDependenciesHelper.setRankedResultsCount(rankedResultsCount);
|
|
18
|
+
const result = await rule.forSearch(searchDependenciesHelper.dependencies);
|
|
19
|
+
expect(result).toBe(true);
|
|
20
|
+
});
|
|
21
|
+
it('Returns false if result count is less than 7', async () => {
|
|
22
|
+
const rankedResultsCount = 4;
|
|
23
|
+
searchDependenciesHelper.setRankedResultsCount(rankedResultsCount);
|
|
24
|
+
const result = await rule.forSearch(searchDependenciesHelper.dependencies);
|
|
25
|
+
expect(result).toBe(false);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
describe('forSitemapGenerator', () => {
|
|
29
|
+
let sitemapDependenciesHelper;
|
|
30
|
+
let rule;
|
|
31
|
+
const filterKeyValues = new Map([]);
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
sitemapDependenciesHelper = new SitemapDependencies();
|
|
34
|
+
rule = new MinimumAmountOfRankedResultsRule(sitemapDependenciesHelper.dependencies.rankingApiClient);
|
|
35
|
+
});
|
|
36
|
+
it('Returns true if ranked organisation count is at least 7', async () => {
|
|
37
|
+
const rankedOrganisationCount = 7;
|
|
38
|
+
sitemapDependenciesHelper.setRankedOrganisationCount(rankedOrganisationCount);
|
|
39
|
+
const result = await rule.forSitemapGenerator(filterKeyValues);
|
|
40
|
+
expect(result).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
it('Returns false if ranked organisation count is less than 7', async () => {
|
|
43
|
+
const rankedOrganisationCount = 3;
|
|
44
|
+
sitemapDependenciesHelper.setRankedOrganisationCount(rankedOrganisationCount);
|
|
45
|
+
const result = await rule.forSitemapGenerator(filterKeyValues);
|
|
46
|
+
expect(result).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
it('Throws error if RankingApiClient is not provided', async () => {
|
|
49
|
+
rule = new MinimumAmountOfRankedResultsRule();
|
|
50
|
+
let result = false;
|
|
51
|
+
let caughtError;
|
|
52
|
+
try {
|
|
53
|
+
result = await rule.forSitemapGenerator(filterKeyValues);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
caughtError = error;
|
|
57
|
+
}
|
|
58
|
+
expect(result).toBe(false);
|
|
59
|
+
expect(caughtError).toBeInstanceOf(Error);
|
|
60
|
+
expect(caughtError).toBeInstanceOf(DependencyMissingError);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe('forDocumentation', () => {
|
|
64
|
+
let rule;
|
|
65
|
+
beforeEach(() => {
|
|
66
|
+
rule = new MinimumAmountOfRankedResultsRule();
|
|
67
|
+
});
|
|
68
|
+
it('Returns description', () => {
|
|
69
|
+
const result = rule.getName();
|
|
70
|
+
expect(typeof result).toBe('string');
|
|
71
|
+
});
|
|
72
|
+
it('Returns name', () => {
|
|
73
|
+
const result = rule.getDescription();
|
|
74
|
+
expect(typeof result).toBe('string');
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
+
import { SearchDependencies } from '../utils/SearchDependencies.util.mjs';
|
|
3
|
+
import { SitemapDependencies } from '../utils/SitemapDependencies.util.mjs';
|
|
4
|
+
import { MinimumAmountOfResultsRule } from '@/organisations/rules/MinimumAmountOfResultsRule';
|
|
5
|
+
import { DependencyMissingError } from '@/errors/DependencyMissingError';
|
|
6
|
+
describe('Rule:MinimumAmountOfResultsRule', () => {
|
|
7
|
+
describe('forSearch', () => {
|
|
8
|
+
let searchDependenciesHelper;
|
|
9
|
+
let rule;
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
searchDependenciesHelper = new SearchDependencies();
|
|
12
|
+
rule = new MinimumAmountOfResultsRule();
|
|
13
|
+
searchDependenciesHelper.setFilterKeyValues(new Map([]));
|
|
14
|
+
});
|
|
15
|
+
it('Returns true if result count is at least 7', async () => {
|
|
16
|
+
const resultCount = 7;
|
|
17
|
+
searchDependenciesHelper.setNumberOfResults(resultCount);
|
|
18
|
+
const result = await rule.forSearch(searchDependenciesHelper.dependencies);
|
|
19
|
+
expect(result).toBe(true);
|
|
20
|
+
});
|
|
21
|
+
it('Returns false if result count is less than 7', async () => {
|
|
22
|
+
const resultCount = 4;
|
|
23
|
+
searchDependenciesHelper.setNumberOfResults(resultCount);
|
|
24
|
+
const result = await rule.forSearch(searchDependenciesHelper.dependencies);
|
|
25
|
+
expect(result).toBe(false);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
describe('forSitemapGenerator', () => {
|
|
29
|
+
let sitemapDependenciesHelper;
|
|
30
|
+
let rule;
|
|
31
|
+
const filterKeyValues = new Map([]);
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
sitemapDependenciesHelper = new SitemapDependencies();
|
|
34
|
+
rule = new MinimumAmountOfResultsRule(sitemapDependenciesHelper.dependencies.searchApiClient);
|
|
35
|
+
});
|
|
36
|
+
it('Returns true if ranked organisation count is at least 7', async () => {
|
|
37
|
+
const organisationCount = 7;
|
|
38
|
+
sitemapDependenciesHelper.setOrganisationCount(organisationCount);
|
|
39
|
+
const result = await rule.forSitemapGenerator(filterKeyValues);
|
|
40
|
+
expect(result).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
it('Returns false if ranked organisation count is less than 7', async () => {
|
|
43
|
+
const organisationCount = 3;
|
|
44
|
+
sitemapDependenciesHelper.setOrganisationCount(organisationCount);
|
|
45
|
+
const result = await rule.forSitemapGenerator(filterKeyValues);
|
|
46
|
+
expect(result).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
it('Throws error if RankingApiClient is not provided', async () => {
|
|
49
|
+
rule = new MinimumAmountOfResultsRule();
|
|
50
|
+
let result = false;
|
|
51
|
+
let caughtError;
|
|
52
|
+
try {
|
|
53
|
+
result = await rule.forSitemapGenerator(filterKeyValues);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
caughtError = error;
|
|
57
|
+
}
|
|
58
|
+
expect(result).toBe(false);
|
|
59
|
+
expect(caughtError).toBeInstanceOf(Error);
|
|
60
|
+
expect(caughtError).toBeInstanceOf(DependencyMissingError);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe('forDocumentation', () => {
|
|
64
|
+
let rule;
|
|
65
|
+
beforeEach(() => {
|
|
66
|
+
rule = new MinimumAmountOfResultsRule();
|
|
67
|
+
});
|
|
68
|
+
it('Returns description', () => {
|
|
69
|
+
const result = rule.getName();
|
|
70
|
+
expect(typeof result).toBe('string');
|
|
71
|
+
});
|
|
72
|
+
it('Returns name', () => {
|
|
73
|
+
const result = rule.getDescription();
|
|
74
|
+
expect(typeof result).toBe('string');
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|