@studyportals/fawkes 8.7.1-0 → 8.7.1

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.
Files changed (508) hide show
  1. package/dist/organisations-seo/index.d.ts +3 -3
  2. package/dist/organisations-seo/index.js +1 -1
  3. package/dist/programmes-seo/index.d.ts +5 -5
  4. package/dist/programmes-seo/index.js +1 -1
  5. package/dist/scholarships-seo/index.d.ts +4 -4
  6. package/dist/scholarships-seo/index.js +2 -2
  7. package/dist/sitemap-generator-seo/index.d.ts +14 -14
  8. package/dist/sitemap-generator-seo/index.js +5 -5
  9. package/dist/src/common/IDependencies.d.ts +1 -1
  10. package/dist/src/common/IPresenter.d.ts +1 -1
  11. package/dist/src/common/ISearchDependencies.d.ts +1 -1
  12. package/dist/src/common/ISeoDependencies.d.ts +2 -2
  13. package/dist/src/common/ISitemapDependencies.d.ts +2 -2
  14. package/dist/src/common/ISitemapUrlGenerator.d.ts +1 -1
  15. package/dist/src/common/policies/BaseSeoIndexabilityPolicy.d.ts +1 -1
  16. package/dist/src/common/policies/BaseSeoIndexabilityPolicy.js +2 -2
  17. package/dist/src/common/rules/NoFiltersSelectedRule.d.ts +2 -2
  18. package/dist/src/common/rules/OnlineAttendanceRule.d.ts +1 -1
  19. package/dist/src/common/rules/OnlineAttendanceRule.js +1 -1
  20. package/dist/src/common/rules/OnlyFiltersSelectedRule.d.ts +2 -2
  21. package/dist/src/common/rules/SingleValueSelectedForFilterRule.d.ts +2 -2
  22. package/dist/src/organisations/IOrganisationSearchApplicationState.d.ts +1 -1
  23. package/dist/src/organisations/ISeoSortingState.d.ts +1 -1
  24. package/dist/src/organisations/SearchIndexabilityManager.d.ts +4 -4
  25. package/dist/src/organisations/SearchIndexabilityManager.js +2 -2
  26. package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.d.ts +3 -3
  27. package/dist/src/organisations/policies/OrganisationsSeoIndexabilityPolicy.js +3 -3
  28. package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.d.ts +1 -1
  29. package/dist/src/organisations/policies/RankedOrganisationsSeoIndexabilityPolicy.js +1 -1
  30. package/dist/src/organisations/policies/our-picks/Area.d.ts +5 -5
  31. package/dist/src/organisations/policies/our-picks/Area.js +6 -6
  32. package/dist/src/organisations/policies/our-picks/AreaAttendance.d.ts +7 -7
  33. package/dist/src/organisations/policies/our-picks/AreaAttendance.js +9 -9
  34. package/dist/src/organisations/policies/our-picks/Attendance.d.ts +6 -6
  35. package/dist/src/organisations/policies/our-picks/Attendance.js +7 -7
  36. package/dist/src/organisations/policies/our-picks/Continent.d.ts +5 -5
  37. package/dist/src/organisations/policies/our-picks/Continent.js +6 -6
  38. package/dist/src/organisations/policies/our-picks/Country.d.ts +5 -5
  39. package/dist/src/organisations/policies/our-picks/Country.js +6 -6
  40. package/dist/src/organisations/policies/our-picks/CountryAreaCity.d.ts +6 -6
  41. package/dist/src/organisations/policies/our-picks/CountryAreaCity.js +7 -7
  42. package/dist/src/organisations/policies/our-picks/CountryAttendance.d.ts +7 -7
  43. package/dist/src/organisations/policies/our-picks/CountryAttendance.js +9 -9
  44. package/dist/src/organisations/policies/our-picks/CountryCity.d.ts +6 -6
  45. package/dist/src/organisations/policies/our-picks/CountryCity.js +7 -7
  46. package/dist/src/organisations/policies/our-picks/Unfiltered.d.ts +4 -4
  47. package/dist/src/organisations/policies/our-picks/Unfiltered.js +4 -4
  48. package/dist/src/organisations/policies/ranked/RankedArea.d.ts +4 -4
  49. package/dist/src/organisations/policies/ranked/RankedArea.js +4 -4
  50. package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.d.ts +5 -5
  51. package/dist/src/organisations/policies/ranked/RankedAreaDiscipline.js +6 -6
  52. package/dist/src/organisations/policies/ranked/RankedAttendance.d.ts +5 -5
  53. package/dist/src/organisations/policies/ranked/RankedAttendance.js +5 -5
  54. package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.d.ts +5 -5
  55. package/dist/src/organisations/policies/ranked/RankedAttendanceDiscipline.js +6 -6
  56. package/dist/src/organisations/policies/ranked/RankedContinent.d.ts +4 -4
  57. package/dist/src/organisations/policies/ranked/RankedContinent.js +4 -4
  58. package/dist/src/organisations/policies/ranked/RankedContinentAttendance.d.ts +6 -6
  59. package/dist/src/organisations/policies/ranked/RankedContinentAttendance.js +7 -7
  60. package/dist/src/organisations/policies/ranked/RankedCountry.d.ts +4 -4
  61. package/dist/src/organisations/policies/ranked/RankedCountry.js +4 -4
  62. package/dist/src/organisations/policies/ranked/RankedCountryAttendance.d.ts +5 -5
  63. package/dist/src/organisations/policies/ranked/RankedCountryAttendance.js +6 -6
  64. package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.d.ts +4 -4
  65. package/dist/src/organisations/policies/ranked/RankedCountryDiscipline.js +5 -5
  66. package/dist/src/organisations/policies/ranked/RankedDiscipline.d.ts +4 -4
  67. package/dist/src/organisations/policies/ranked/RankedDiscipline.js +4 -4
  68. package/dist/src/organisations/policies/ranked/RankedUnfiltered.d.ts +3 -3
  69. package/dist/src/organisations/policies/ranked/RankedUnfiltered.js +2 -2
  70. package/dist/src/organisations/rules/BaseSearchVolumeOrganisationsRule.d.ts +3 -3
  71. package/dist/src/organisations/rules/ContinentIsEuropeRule.d.ts +1 -1
  72. package/dist/src/organisations/rules/ContinentIsEuropeRule.js +1 -1
  73. package/dist/src/organisations/rules/ExcludeByIdForCitiesRule.d.ts +3 -3
  74. package/dist/src/organisations/rules/MinimumAmountOfRankedResultsRule.d.ts +3 -3
  75. package/dist/src/organisations/rules/MinimumAmountOfRankedResultsRule.js +1 -1
  76. package/dist/src/organisations/rules/MinimumAmountOfResultsRule.d.ts +4 -4
  77. package/dist/src/organisations/rules/MinimumAmountOfResultsRule.js +1 -1
  78. package/dist/src/organisations/rules/NoFiltersSelectedRule.d.ts +2 -2
  79. package/dist/src/organisations/types/IOrganisationSearchDependencies.d.ts +2 -2
  80. package/dist/src/organisations/types/IOrganisationsSitemapDependencies.d.ts +3 -3
  81. package/dist/src/presenters/AreaPresenter.d.ts +1 -1
  82. package/dist/src/presenters/AttendancePresenter.d.ts +1 -1
  83. package/dist/src/presenters/CityPresenter.d.ts +1 -1
  84. package/dist/src/presenters/ContinentPresenter.d.ts +1 -1
  85. package/dist/src/presenters/CountryPresenter.d.ts +1 -1
  86. package/dist/src/presenters/DegreePresenter.d.ts +1 -1
  87. package/dist/src/presenters/DisciplinePresenter.d.ts +1 -1
  88. package/dist/src/presenters/DurationPresenter.d.ts +1 -1
  89. package/dist/src/presenters/EducationalFormPresenter.d.ts +1 -1
  90. package/dist/src/presenters/FormatPresenter.d.ts +1 -1
  91. package/dist/src/presenters/SpecialProgrammesPresenter.d.ts +1 -1
  92. package/dist/src/presenters/TuitionFeePresenter.d.ts +1 -1
  93. package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.d.ts +2 -2
  94. package/dist/src/programmes/BaseProgrammeFilterKeyValueRule.js +1 -1
  95. package/dist/src/programmes/BaseProgrammeRule.d.ts +2 -2
  96. package/dist/src/programmes/IProgrammeRule.d.ts +2 -2
  97. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.d.ts +3 -3
  98. package/dist/src/programmes/ProgrammesBaseIndexabilityPolicy.js +1 -1
  99. package/dist/src/programmes/SearchIndexabilityManager.d.ts +4 -4
  100. package/dist/src/programmes/SearchIndexabilityManager.js +1 -1
  101. package/dist/src/programmes/policies/Area.d.ts +3 -3
  102. package/dist/src/programmes/policies/Area.js +4 -4
  103. package/dist/src/programmes/policies/Attendance.d.ts +4 -4
  104. package/dist/src/programmes/policies/Attendance.js +5 -5
  105. package/dist/src/programmes/policies/AttendanceArea.d.ts +4 -4
  106. package/dist/src/programmes/policies/AttendanceArea.js +6 -6
  107. package/dist/src/programmes/policies/AttendanceContinent.d.ts +4 -4
  108. package/dist/src/programmes/policies/AttendanceContinent.js +6 -6
  109. package/dist/src/programmes/policies/AttendanceDegree.d.ts +2 -2
  110. package/dist/src/programmes/policies/AttendanceDegree.js +5 -5
  111. package/dist/src/programmes/policies/AttendanceDuration.d.ts +5 -5
  112. package/dist/src/programmes/policies/AttendanceDuration.js +7 -7
  113. package/dist/src/programmes/policies/AttendanceFormat.d.ts +4 -4
  114. package/dist/src/programmes/policies/AttendanceFormat.js +6 -6
  115. package/dist/src/programmes/policies/Continent.d.ts +3 -3
  116. package/dist/src/programmes/policies/Continent.js +4 -4
  117. package/dist/src/programmes/policies/ContinentDuration.d.ts +3 -3
  118. package/dist/src/programmes/policies/ContinentDuration.js +5 -5
  119. package/dist/src/programmes/policies/ContinentFormat.d.ts +3 -3
  120. package/dist/src/programmes/policies/ContinentFormat.js +5 -5
  121. package/dist/src/programmes/policies/ContinentSpecialProgrammes.d.ts +4 -4
  122. package/dist/src/programmes/policies/ContinentSpecialProgrammes.js +6 -6
  123. package/dist/src/programmes/policies/Country.d.ts +3 -3
  124. package/dist/src/programmes/policies/Country.js +4 -4
  125. package/dist/src/programmes/policies/CountryAttendance.d.ts +4 -4
  126. package/dist/src/programmes/policies/CountryAttendance.js +6 -6
  127. package/dist/src/programmes/policies/CountryAttendanceDegree.d.ts +4 -4
  128. package/dist/src/programmes/policies/CountryAttendanceDegree.js +7 -7
  129. package/dist/src/programmes/policies/CountryDegree.d.ts +2 -2
  130. package/dist/src/programmes/policies/CountryDegree.js +5 -5
  131. package/dist/src/programmes/policies/CountryDuration.d.ts +3 -3
  132. package/dist/src/programmes/policies/CountryDuration.js +5 -5
  133. package/dist/src/programmes/policies/CountryDurationDegree.d.ts +3 -3
  134. package/dist/src/programmes/policies/CountryDurationDegree.js +6 -6
  135. package/dist/src/programmes/policies/CountryEducationalForm.d.ts +2 -2
  136. package/dist/src/programmes/policies/CountryEducationalForm.js +5 -5
  137. package/dist/src/programmes/policies/CountryFormat.d.ts +3 -3
  138. package/dist/src/programmes/policies/CountryFormat.js +5 -5
  139. package/dist/src/programmes/policies/CountrySpecialProgrammes.d.ts +4 -4
  140. package/dist/src/programmes/policies/CountrySpecialProgrammes.js +6 -6
  141. package/dist/src/programmes/policies/Degree.d.ts +3 -3
  142. package/dist/src/programmes/policies/Degree.js +4 -4
  143. package/dist/src/programmes/policies/DegreeArea.d.ts +3 -3
  144. package/dist/src/programmes/policies/DegreeArea.js +5 -5
  145. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.d.ts +4 -4
  146. package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +7 -7
  147. package/dist/src/programmes/policies/DegreeAttendanceFormat.d.ts +4 -4
  148. package/dist/src/programmes/policies/DegreeAttendanceFormat.js +7 -7
  149. package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.d.ts +4 -4
  150. package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.js +7 -7
  151. package/dist/src/programmes/policies/DegreeContinent.d.ts +2 -2
  152. package/dist/src/programmes/policies/DegreeContinent.js +5 -5
  153. package/dist/src/programmes/policies/DegreeCountryAttendance.d.ts +3 -3
  154. package/dist/src/programmes/policies/DegreeCountryAttendance.js +6 -6
  155. package/dist/src/programmes/policies/DegreeCountryDiscipline.d.ts +3 -3
  156. package/dist/src/programmes/policies/DegreeCountryDiscipline.js +6 -6
  157. package/dist/src/programmes/policies/DegreeCountryTuitionFee.d.ts +3 -3
  158. package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +6 -6
  159. package/dist/src/programmes/policies/DegreeDuration.d.ts +2 -2
  160. package/dist/src/programmes/policies/DegreeDuration.js +5 -5
  161. package/dist/src/programmes/policies/DegreeFormat.d.ts +2 -2
  162. package/dist/src/programmes/policies/DegreeFormat.js +5 -5
  163. package/dist/src/programmes/policies/DegreeSpecialProgrammes.d.ts +3 -3
  164. package/dist/src/programmes/policies/DegreeSpecialProgrammes.js +5 -5
  165. package/dist/src/programmes/policies/DegreeTuitionFee.d.ts +3 -3
  166. package/dist/src/programmes/policies/DegreeTuitionFee.js +5 -5
  167. package/dist/src/programmes/policies/DegreeTuitionFeeArea.d.ts +3 -3
  168. package/dist/src/programmes/policies/DegreeTuitionFeeArea.js +6 -6
  169. package/dist/src/programmes/policies/DegreeTuitionFeeAttendance.d.ts +2 -2
  170. package/dist/src/programmes/policies/DegreeTuitionFeeAttendance.js +7 -7
  171. package/dist/src/programmes/policies/DegreeTuitionFeeContinent.d.ts +2 -2
  172. package/dist/src/programmes/policies/DegreeTuitionFeeContinent.js +6 -6
  173. package/dist/src/programmes/policies/DegreeTuitionFeeFormat.d.ts +2 -2
  174. package/dist/src/programmes/policies/DegreeTuitionFeeFormat.js +6 -6
  175. package/dist/src/programmes/policies/Discipline.d.ts +3 -3
  176. package/dist/src/programmes/policies/Discipline.js +4 -4
  177. package/dist/src/programmes/policies/DisciplineAttendance.d.ts +4 -4
  178. package/dist/src/programmes/policies/DisciplineAttendance.js +6 -6
  179. package/dist/src/programmes/policies/DisciplineContinent.d.ts +3 -3
  180. package/dist/src/programmes/policies/DisciplineContinent.js +5 -5
  181. package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +4 -4
  182. package/dist/src/programmes/policies/DisciplineContinentAttendance.js +7 -7
  183. package/dist/src/programmes/policies/DisciplineCountry.d.ts +3 -3
  184. package/dist/src/programmes/policies/DisciplineCountry.js +5 -5
  185. package/dist/src/programmes/policies/DisciplineCountryAttendance.d.ts +4 -4
  186. package/dist/src/programmes/policies/DisciplineCountryAttendance.js +7 -7
  187. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.d.ts +2 -2
  188. package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +6 -6
  189. package/dist/src/programmes/policies/DisciplineCountryFormat.d.ts +3 -3
  190. package/dist/src/programmes/policies/DisciplineCountryFormat.js +6 -6
  191. package/dist/src/programmes/policies/DisciplineDegree.d.ts +3 -3
  192. package/dist/src/programmes/policies/DisciplineDegree.js +5 -5
  193. package/dist/src/programmes/policies/DisciplineDuration.d.ts +3 -3
  194. package/dist/src/programmes/policies/DisciplineDuration.js +5 -5
  195. package/dist/src/programmes/policies/DisciplineEducationalForm.d.ts +2 -2
  196. package/dist/src/programmes/policies/DisciplineEducationalForm.js +5 -5
  197. package/dist/src/programmes/policies/DisciplineFormat.d.ts +3 -3
  198. package/dist/src/programmes/policies/DisciplineFormat.js +5 -5
  199. package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +3 -3
  200. package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +5 -5
  201. package/dist/src/programmes/policies/Duration.d.ts +3 -3
  202. package/dist/src/programmes/policies/Duration.js +4 -4
  203. package/dist/src/programmes/policies/Format.d.ts +3 -3
  204. package/dist/src/programmes/policies/Format.js +4 -4
  205. package/dist/src/programmes/policies/SpecialProgrammes.d.ts +3 -3
  206. package/dist/src/programmes/policies/SpecialProgrammes.js +4 -4
  207. package/dist/src/programmes/policies/TuitionFee.d.ts +3 -3
  208. package/dist/src/programmes/policies/TuitionFee.js +4 -4
  209. package/dist/src/programmes/policies/TuitionFeeAttendance.d.ts +4 -4
  210. package/dist/src/programmes/policies/TuitionFeeAttendance.js +6 -6
  211. package/dist/src/programmes/policies/TuitionFeeAttendanceDiscipline.d.ts +4 -4
  212. package/dist/src/programmes/policies/TuitionFeeAttendanceDiscipline.js +7 -7
  213. package/dist/src/programmes/policies/TuitionFeeContinent.d.ts +3 -3
  214. package/dist/src/programmes/policies/TuitionFeeContinent.js +5 -5
  215. package/dist/src/programmes/policies/TuitionFeeCountry.d.ts +3 -3
  216. package/dist/src/programmes/policies/TuitionFeeCountry.js +5 -5
  217. package/dist/src/programmes/policies/TuitionFeeDiscipline.d.ts +3 -3
  218. package/dist/src/programmes/policies/TuitionFeeDiscipline.js +5 -5
  219. package/dist/src/programmes/policies/Unfiltered.d.ts +2 -2
  220. package/dist/src/programmes/policies/Unfiltered.js +2 -2
  221. package/dist/src/programmes/rules/DegreeAttendanceDisciplineRule.d.ts +2 -2
  222. package/dist/src/programmes/rules/DegreeAttendanceDisciplineSpecificRule.d.ts +2 -2
  223. package/dist/src/programmes/rules/DegreeCountryAttendanceSpecificRule.d.ts +2 -2
  224. package/dist/src/programmes/rules/DegreeCountryDisciplineSpecificRule.d.ts +2 -2
  225. package/dist/src/programmes/rules/DegreeCountryTuitionFeeSpecificRule.d.ts +2 -2
  226. package/dist/src/programmes/rules/DegreeDisciplineRule.d.ts +2 -2
  227. package/dist/src/programmes/rules/IndexableDegreeRule.d.ts +2 -2
  228. package/dist/src/programmes/rules/IndexableDegreeRule.js +1 -1
  229. package/dist/src/programmes/rules/IndexableDurationRule.d.ts +2 -2
  230. package/dist/src/programmes/rules/IndexableDurationRule.js +1 -1
  231. package/dist/src/programmes/rules/IndexableEducationalFormRule.d.ts +2 -2
  232. package/dist/src/programmes/rules/IndexableEducationalFormRule.js +1 -1
  233. package/dist/src/programmes/rules/IndexablePageNumberRule.js +1 -1
  234. package/dist/src/programmes/rules/MbaOrMscDegreeRule.d.ts +2 -2
  235. package/dist/src/programmes/rules/MinimumAmountOfResultsRule.d.ts +3 -3
  236. package/dist/src/programmes/rules/MinimumAmountOfResultsRule.js +1 -1
  237. package/dist/src/programmes/rules/NotDistanceLearningPortalRule.js +1 -1
  238. package/dist/src/programmes/rules/OneYearOnlyRule.d.ts +2 -2
  239. package/dist/src/programmes/types/IProgrammeSearchApplicationState.d.ts +1 -1
  240. package/dist/src/programmes/types/IProgrammeSearchDependencies.d.ts +1 -1
  241. package/dist/src/programmes/types/IProgrammeSearchSitemapDependencies.d.ts +1 -1
  242. package/dist/src/programmes/types/IProgrammeSitemapDependencies.d.ts +2 -2
  243. package/dist/src/programmes/types/IProgrammeSitemapUrlGenerator.d.ts +1 -1
  244. package/dist/src/scholarships/SearchIndexabilityManager.d.ts +5 -5
  245. package/dist/src/scholarships/SearchIndexabilityManager.js +1 -1
  246. package/dist/src/scholarships/policies/Area.d.ts +3 -3
  247. package/dist/src/scholarships/policies/Area.js +4 -4
  248. package/dist/src/scholarships/policies/Country.d.ts +3 -3
  249. package/dist/src/scholarships/policies/Country.js +4 -4
  250. package/dist/src/scholarships/policies/Discipline.d.ts +4 -4
  251. package/dist/src/scholarships/policies/Discipline.js +5 -5
  252. package/dist/src/scholarships/policies/DisciplineCountry.d.ts +3 -3
  253. package/dist/src/scholarships/policies/DisciplineCountry.js +5 -5
  254. package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.d.ts +2 -2
  255. package/dist/src/scholarships/policies/ScholarshipSeoIndexabilityPolicy.js +2 -2
  256. package/dist/src/scholarships/policies/Unfiltered.d.ts +2 -2
  257. package/dist/src/scholarships/policies/Unfiltered.js +2 -2
  258. package/dist/src/scholarships/policies/UniversityCountry.d.ts +3 -3
  259. package/dist/src/scholarships/policies/UniversityCountry.js +4 -4
  260. package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.d.ts +3 -3
  261. package/dist/src/scholarships/rules/ExceptAustaliaAreasRule.js +1 -1
  262. package/dist/src/scholarships/rules/SearchVolumeAreasRule.d.ts +3 -3
  263. package/dist/src/scholarships/rules/SearchVolumeCountriesDisciplinesRule.d.ts +3 -3
  264. package/dist/src/scholarships/rules/SearchVolumeCountriesRule.d.ts +3 -3
  265. package/dist/src/scholarships/rules/SearchVolumeDisciplinesRule.d.ts +3 -3
  266. package/dist/src/scholarships/types/IScholarshipSeoDependencies.d.ts +1 -1
  267. package/dist/src/scholarships/types/IScholarshipSitemapDependencies.d.ts +2 -2
  268. package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.d.ts +3 -3
  269. package/dist/src/sitemap-generator/IRankingApiClient.d.ts +1 -1
  270. package/dist/src/sitemap-generator/ISearchApiClient.d.ts +1 -1
  271. package/dist/src/sitemap-generator/ISitemapUrlGeneratorManager.d.ts +3 -3
  272. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.d.ts +4 -4
  273. package/dist/src/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.js +8 -8
  274. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.d.ts +3 -3
  275. package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +13 -13
  276. package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.d.ts +3 -3
  277. package/dist/src/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.js +7 -7
  278. package/dist/src/structured-data/OrganisationStructuredDataFactory.d.ts +1 -1
  279. package/dist/src/structured-data/ProgrammeStructuredDataFactory.d.ts +1 -1
  280. package/package.json +1 -1
  281. package/dist/tests/common/rules/NoFiltersSelectedRule.test.d.mts +0 -1
  282. package/dist/tests/common/rules/NoFiltersSelectedRule.test.mjs +0 -40
  283. package/dist/tests/common/rules/OnlyFiltersSelectedRule.test.d.mts +0 -1
  284. package/dist/tests/common/rules/OnlyFiltersSelectedRule.test.mjs +0 -70
  285. package/dist/tests/common/rules/SingleValueSelectedForFilterRule.test.d.mts +0 -1
  286. package/dist/tests/common/rules/SingleValueSelectedForFilterRule.test.mjs +0 -54
  287. package/dist/tests/organisations/policies/our-picks/Area.test.d.mts +0 -1
  288. package/dist/tests/organisations/policies/our-picks/Area.test.mjs +0 -125
  289. package/dist/tests/organisations/policies/our-picks/AreaAttendance.test.d.mts +0 -1
  290. package/dist/tests/organisations/policies/our-picks/AreaAttendance.test.mjs +0 -238
  291. package/dist/tests/organisations/policies/our-picks/Attendance.test.d.mts +0 -1
  292. package/dist/tests/organisations/policies/our-picks/Attendance.test.mjs +0 -119
  293. package/dist/tests/organisations/policies/our-picks/Continent.test.d.mts +0 -1
  294. package/dist/tests/organisations/policies/our-picks/Continent.test.mjs +0 -105
  295. package/dist/tests/organisations/policies/our-picks/Country.test.d.mts +0 -1
  296. package/dist/tests/organisations/policies/our-picks/Country.test.mjs +0 -109
  297. package/dist/tests/organisations/policies/our-picks/CountryAreaCity.test.d.mts +0 -1
  298. package/dist/tests/organisations/policies/our-picks/CountryAreaCity.test.mjs +0 -152
  299. package/dist/tests/organisations/policies/our-picks/CountryAttendance.test.d.mts +0 -1
  300. package/dist/tests/organisations/policies/our-picks/CountryAttendance.test.mjs +0 -223
  301. package/dist/tests/organisations/policies/our-picks/CountryCity.test.d.mts +0 -1
  302. package/dist/tests/organisations/policies/our-picks/CountryCity.test.mjs +0 -109
  303. package/dist/tests/organisations/policies/our-picks/Unfiltered.test.d.mts +0 -1
  304. package/dist/tests/organisations/policies/our-picks/Unfiltered.test.mjs +0 -60
  305. package/dist/tests/organisations/policies/ranked/RankedArea.test.d.mts +0 -1
  306. package/dist/tests/organisations/policies/ranked/RankedArea.test.mjs +0 -149
  307. package/dist/tests/organisations/policies/ranked/RankedAreaDiscipline.test.d.mts +0 -1
  308. package/dist/tests/organisations/policies/ranked/RankedAreaDiscipline.test.mjs +0 -237
  309. package/dist/tests/organisations/policies/ranked/RankedAttendance.test.d.mts +0 -1
  310. package/dist/tests/organisations/policies/ranked/RankedAttendance.test.mjs +0 -139
  311. package/dist/tests/organisations/policies/ranked/RankedAttendanceDiscipline.test.d.mts +0 -1
  312. package/dist/tests/organisations/policies/ranked/RankedAttendanceDiscipline.test.mjs +0 -224
  313. package/dist/tests/organisations/policies/ranked/RankedContinent.test.d.mts +0 -1
  314. package/dist/tests/organisations/policies/ranked/RankedContinent.test.mjs +0 -125
  315. package/dist/tests/organisations/policies/ranked/RankedContinentAttendance.test.d.mts +0 -1
  316. package/dist/tests/organisations/policies/ranked/RankedContinentAttendance.test.mjs +0 -253
  317. package/dist/tests/organisations/policies/ranked/RankedCountry.test.d.mts +0 -1
  318. package/dist/tests/organisations/policies/ranked/RankedCountry.test.mjs +0 -131
  319. package/dist/tests/organisations/policies/ranked/RankedCountryAttendance.test.d.mts +0 -1
  320. package/dist/tests/organisations/policies/ranked/RankedCountryAttendance.test.mjs +0 -230
  321. package/dist/tests/organisations/policies/ranked/RankedCountryDiscipline.test.d.mts +0 -1
  322. package/dist/tests/organisations/policies/ranked/RankedCountryDiscipline.test.mjs +0 -197
  323. package/dist/tests/organisations/policies/ranked/RankedDiscipline.test.d.mts +0 -1
  324. package/dist/tests/organisations/policies/ranked/RankedDiscipline.test.mjs +0 -124
  325. package/dist/tests/organisations/policies/ranked/RankedUnfiltered.test.d.mts +0 -1
  326. package/dist/tests/organisations/policies/ranked/RankedUnfiltered.test.mjs +0 -75
  327. package/dist/tests/organisations/rules/ContinentIsEuropeRule.test.d.mts +0 -1
  328. package/dist/tests/organisations/rules/ContinentIsEuropeRule.test.mjs +0 -59
  329. package/dist/tests/organisations/rules/MinimumAmountOfRankedResultsRule.test.d.mts +0 -1
  330. package/dist/tests/organisations/rules/MinimumAmountOfRankedResultsRule.test.mjs +0 -77
  331. package/dist/tests/organisations/rules/MinimumAmountOfResultsRule.test.d.mts +0 -1
  332. package/dist/tests/organisations/rules/MinimumAmountOfResultsRule.test.mjs +0 -77
  333. package/dist/tests/organisations/rules/OnlineAttendanceRule.test.d.mts +0 -1
  334. package/dist/tests/organisations/rules/OnlineAttendanceRule.test.mjs +0 -59
  335. package/dist/tests/organisations/rules/SearchVolumeAreasAttendanceRule.test.d.mts +0 -1
  336. package/dist/tests/organisations/rules/SearchVolumeAreasAttendanceRule.test.mjs +0 -59
  337. package/dist/tests/organisations/rules/SearchVolumeAreasDisciplineRule.test.d.mts +0 -1
  338. package/dist/tests/organisations/rules/SearchVolumeAreasDisciplineRule.test.mjs +0 -59
  339. package/dist/tests/organisations/rules/SearchVolumeCountriesAttendanceRule.test.d.mts +0 -1
  340. package/dist/tests/organisations/rules/SearchVolumeCountriesAttendanceRule.test.mjs +0 -59
  341. package/dist/tests/organisations/utils/SearchDependencies.util.d.mts +0 -20
  342. package/dist/tests/organisations/utils/SearchDependencies.util.mjs +0 -88
  343. package/dist/tests/organisations/utils/SitemapDependencies.util.d.mts +0 -18
  344. package/dist/tests/organisations/utils/SitemapDependencies.util.mjs +0 -54
  345. package/dist/tests/presenters/AreaPresenter.test.d.mts +0 -1
  346. package/dist/tests/presenters/AreaPresenter.test.mjs +0 -46
  347. package/dist/tests/presenters/AttendancePresenter.test.d.mts +0 -1
  348. package/dist/tests/presenters/AttendancePresenter.test.mjs +0 -41
  349. package/dist/tests/presenters/ContinentPresenter.test.d.mts +0 -1
  350. package/dist/tests/presenters/ContinentPresenter.test.mjs +0 -44
  351. package/dist/tests/presenters/CountryPresenter.test.d.mts +0 -1
  352. package/dist/tests/presenters/CountryPresenter.test.mjs +0 -50
  353. package/dist/tests/presenters/DegreePresenter.test.d.mts +0 -1
  354. package/dist/tests/presenters/DegreePresenter.test.mjs +0 -51
  355. package/dist/tests/presenters/DisciplinePresenter.test.d.mts +0 -1
  356. package/dist/tests/presenters/DisciplinePresenter.test.mjs +0 -40
  357. package/dist/tests/presenters/DurationPresenter.test.d.mts +0 -1
  358. package/dist/tests/presenters/DurationPresenter.test.mjs +0 -64
  359. package/dist/tests/presenters/EducationalFormPresenter.test.d.mts +0 -1
  360. package/dist/tests/presenters/EducationalFormPresenter.test.mjs +0 -60
  361. package/dist/tests/presenters/FormatPresenter.test.d.mts +0 -1
  362. package/dist/tests/presenters/FormatPresenter.test.mjs +0 -43
  363. package/dist/tests/presenters/SpecialProgrammesPresenter.test.d.mts +0 -1
  364. package/dist/tests/presenters/SpecialProgrammesPresenter.test.mjs +0 -66
  365. package/dist/tests/presenters/TuitionFeePresenter.test.d.mts +0 -1
  366. package/dist/tests/presenters/TuitionFeePresenter.test.mjs +0 -52
  367. package/dist/tests/programmes/policies/Area.test.d.mts +0 -1
  368. package/dist/tests/programmes/policies/Area.test.mjs +0 -153
  369. package/dist/tests/programmes/policies/Attendance.test.d.mts +0 -1
  370. package/dist/tests/programmes/policies/Attendance.test.mjs +0 -173
  371. package/dist/tests/programmes/policies/AttendanceDegree.test.d.mts +0 -1
  372. package/dist/tests/programmes/policies/AttendanceDegree.test.mjs +0 -291
  373. package/dist/tests/programmes/policies/Continent.test.d.mts +0 -1
  374. package/dist/tests/programmes/policies/Continent.test.mjs +0 -169
  375. package/dist/tests/programmes/policies/Country.test.d.mts +0 -1
  376. package/dist/tests/programmes/policies/Country.test.mjs +0 -164
  377. package/dist/tests/programmes/policies/CountryAttendance.test.d.mts +0 -1
  378. package/dist/tests/programmes/policies/CountryAttendance.test.mjs +0 -251
  379. package/dist/tests/programmes/policies/CountryAttendanceDegree.test.d.mts +0 -1
  380. package/dist/tests/programmes/policies/CountryAttendanceDegree.test.mjs +0 -337
  381. package/dist/tests/programmes/policies/CountryDegree.test.d.mts +0 -1
  382. package/dist/tests/programmes/policies/CountryDegree.test.mjs +0 -262
  383. package/dist/tests/programmes/policies/CountryDuration.test.d.mts +0 -1
  384. package/dist/tests/programmes/policies/CountryDuration.test.mjs +0 -234
  385. package/dist/tests/programmes/policies/CountryDurationDegree.test.d.mts +0 -1
  386. package/dist/tests/programmes/policies/CountryDurationDegree.test.mjs +0 -304
  387. package/dist/tests/programmes/policies/CountryEducationalForm.test.d.mts +0 -1
  388. package/dist/tests/programmes/policies/CountryEducationalForm.test.mjs +0 -260
  389. package/dist/tests/programmes/policies/CountryFormat.test.d.mts +0 -1
  390. package/dist/tests/programmes/policies/CountryFormat.test.mjs +0 -253
  391. package/dist/tests/programmes/policies/DegreeAttendanceDiscipline.test.d.mts +0 -1
  392. package/dist/tests/programmes/policies/DegreeAttendanceDiscipline.test.mjs +0 -179
  393. package/dist/tests/programmes/policies/DegreeCountryAttendance.test.d.mts +0 -1
  394. package/dist/tests/programmes/policies/DegreeCountryAttendance.test.mjs +0 -267
  395. package/dist/tests/programmes/policies/DegreeCountryTuitionFee.test.d.mts +0 -1
  396. package/dist/tests/programmes/policies/DegreeCountryTuitionFee.test.mjs +0 -217
  397. package/dist/tests/programmes/policies/DegreeFormat.test.d.mts +0 -1
  398. package/dist/tests/programmes/policies/DegreeFormat.test.mjs +0 -221
  399. package/dist/tests/programmes/policies/Discipline.test.d.mts +0 -1
  400. package/dist/tests/programmes/policies/Discipline.test.mjs +0 -159
  401. package/dist/tests/programmes/policies/DisciplineAttendance.test.d.mts +0 -1
  402. package/dist/tests/programmes/policies/DisciplineAttendance.test.mjs +0 -292
  403. package/dist/tests/programmes/policies/DisciplineContinent.test.d.mts +0 -1
  404. package/dist/tests/programmes/policies/DisciplineContinent.test.mjs +0 -253
  405. package/dist/tests/programmes/policies/DisciplineCountry.test.d.mts +0 -1
  406. package/dist/tests/programmes/policies/DisciplineCountry.test.mjs +0 -244
  407. package/dist/tests/programmes/policies/DisciplineCountryEducationalForm.test.d.mts +0 -1
  408. package/dist/tests/programmes/policies/DisciplineCountryEducationalForm.test.mjs +0 -345
  409. package/dist/tests/programmes/policies/DisciplineDegree.test.d.mts +0 -1
  410. package/dist/tests/programmes/policies/DisciplineDegree.test.mjs +0 -273
  411. package/dist/tests/programmes/policies/DisciplineDuration.test.d.mts +0 -1
  412. package/dist/tests/programmes/policies/DisciplineDuration.test.mjs +0 -278
  413. package/dist/tests/programmes/policies/DisciplineEducationalForm.test.d.mts +0 -1
  414. package/dist/tests/programmes/policies/DisciplineEducationalForm.test.mjs +0 -302
  415. package/dist/tests/programmes/policies/DisciplineFormat.test.d.mts +0 -1
  416. package/dist/tests/programmes/policies/DisciplineFormat.test.mjs +0 -266
  417. package/dist/tests/programmes/policies/Duration.test.d.mts +0 -1
  418. package/dist/tests/programmes/policies/Duration.test.mjs +0 -179
  419. package/dist/tests/programmes/policies/Format.test.d.mts +0 -1
  420. package/dist/tests/programmes/policies/Format.test.mjs +0 -117
  421. package/dist/tests/programmes/policies/NewRulesValidation.test.d.mts +0 -1
  422. package/dist/tests/programmes/policies/NewRulesValidation.test.mjs +0 -320
  423. package/dist/tests/programmes/policies/SpecialProgrammes.test.d.mts +0 -1
  424. package/dist/tests/programmes/policies/SpecialProgrammes.test.mjs +0 -171
  425. package/dist/tests/programmes/policies/TuitionFeeAttendanceDiscipline.test.d.mts +0 -1
  426. package/dist/tests/programmes/policies/TuitionFeeAttendanceDiscipline.test.mjs +0 -360
  427. package/dist/tests/programmes/policies/TuitionFeeContinent.test.d.mts +0 -1
  428. package/dist/tests/programmes/policies/TuitionFeeContinent.test.mjs +0 -293
  429. package/dist/tests/programmes/policies/TuitionFeeCountry.test.d.mts +0 -1
  430. package/dist/tests/programmes/policies/TuitionFeeCountry.test.mjs +0 -266
  431. package/dist/tests/programmes/policies/TuitionFeeDiscipline.test.d.mts +0 -1
  432. package/dist/tests/programmes/policies/TuitionFeeDiscipline.test.mjs +0 -267
  433. package/dist/tests/programmes/policies/Unfiltered.test.d.mts +0 -1
  434. package/dist/tests/programmes/policies/Unfiltered.test.mjs +0 -90
  435. package/dist/tests/programmes/rules/AffordableTuitionFeeRule.test.d.mts +0 -1
  436. package/dist/tests/programmes/rules/AffordableTuitionFeeRule.test.mjs +0 -27
  437. package/dist/tests/programmes/rules/DegreeCountrySpecificRule.test.d.mts +0 -1
  438. package/dist/tests/programmes/rules/DegreeCountrySpecificRule.test.mjs +0 -121
  439. package/dist/tests/programmes/rules/DegreeDisciplineRule.test.d.mts +0 -1
  440. package/dist/tests/programmes/rules/DegreeDisciplineRule.test.mjs +0 -169
  441. package/dist/tests/programmes/rules/IndexableDegreeRule.test.d.mts +0 -1
  442. package/dist/tests/programmes/rules/IndexableDegreeRule.test.mjs +0 -101
  443. package/dist/tests/programmes/rules/IndexableDurationRule.test..d.mts +0 -1
  444. package/dist/tests/programmes/rules/IndexableDurationRule.test..mjs +0 -25
  445. package/dist/tests/programmes/rules/IndexableEducationalFormRule.test.d.mts +0 -1
  446. package/dist/tests/programmes/rules/IndexableEducationalFormRule.test.mjs +0 -27
  447. package/dist/tests/programmes/rules/IndexablePageNumberRule.test.d.mts +0 -1
  448. package/dist/tests/programmes/rules/IndexablePageNumberRule.test.mjs +0 -51
  449. package/dist/tests/programmes/rules/MbaDegreeRule.test.d.mts +0 -1
  450. package/dist/tests/programmes/rules/MbaDegreeRule.test.mjs +0 -55
  451. package/dist/tests/programmes/rules/MbaOrMscDegreeRule.test.d.mts +0 -1
  452. package/dist/tests/programmes/rules/MbaOrMscDegreeRule.test.mjs +0 -53
  453. package/dist/tests/programmes/rules/MinimumAmountOfResultsRule.test.d.mts +0 -1
  454. package/dist/tests/programmes/rules/MinimumAmountOfResultsRule.test.mjs +0 -79
  455. package/dist/tests/programmes/rules/NotDistanceLearningPortalRule.test.d.mts +0 -1
  456. package/dist/tests/programmes/rules/NotDistanceLearningPortalRule.test.mjs +0 -57
  457. package/dist/tests/programmes/rules/OneYearDurationRule.test..d.mts +0 -1
  458. package/dist/tests/programmes/rules/OneYearDurationRule.test..mjs +0 -40
  459. package/dist/tests/programmes/rules/OnlineAttendanceRule.test.d.mts +0 -1
  460. package/dist/tests/programmes/rules/OnlineAttendanceRule.test.mjs +0 -69
  461. package/dist/tests/programmes/rules/PartTimeFormatRule.test.d.mts +0 -1
  462. package/dist/tests/programmes/rules/PartTimeFormatRule.test.mjs +0 -27
  463. package/dist/tests/programmes/utils/SearchDependencies.util.d.mts +0 -16
  464. package/dist/tests/programmes/utils/SearchDependencies.util.mjs +0 -73
  465. package/dist/tests/programmes/utils/SitemapDependencies.util.d.mts +0 -15
  466. package/dist/tests/programmes/utils/SitemapDependencies.util.mjs +0 -49
  467. package/dist/tests/scholarships/policies/Area.test.d.mts +0 -1
  468. package/dist/tests/scholarships/policies/Area.test.mjs +0 -121
  469. package/dist/tests/scholarships/policies/Country.test.d.mts +0 -1
  470. package/dist/tests/scholarships/policies/Country.test.mjs +0 -97
  471. package/dist/tests/scholarships/policies/Discipline.test.d.mts +0 -1
  472. package/dist/tests/scholarships/policies/Discipline.test.mjs +0 -93
  473. package/dist/tests/scholarships/policies/DisciplineCountry.test.d.mts +0 -1
  474. package/dist/tests/scholarships/policies/DisciplineCountry.test.mjs +0 -151
  475. package/dist/tests/scholarships/policies/Unfiltered.test.d.mts +0 -1
  476. package/dist/tests/scholarships/policies/Unfiltered.test.mjs +0 -44
  477. package/dist/tests/scholarships/policies/UniversityCountry.test.d.mts +0 -1
  478. package/dist/tests/scholarships/policies/UniversityCountry.test.mjs +0 -115
  479. package/dist/tests/scholarships/rules/ExceptAustaliaAreasRule.test.d.mts +0 -1
  480. package/dist/tests/scholarships/rules/ExceptAustaliaAreasRule.test.mjs +0 -64
  481. package/dist/tests/scholarships/rules/SearchVolumeAreasRule.test.d.mts +0 -1
  482. package/dist/tests/scholarships/rules/SearchVolumeAreasRule.test.mjs +0 -62
  483. package/dist/tests/scholarships/rules/SearchVolumeCountriesDisciplinesRule.test.d.mts +0 -1
  484. package/dist/tests/scholarships/rules/SearchVolumeCountriesDisciplinesRule.test.mjs +0 -114
  485. package/dist/tests/scholarships/rules/SearchVolumeCountriesRule.test.d.mts +0 -1
  486. package/dist/tests/scholarships/rules/SearchVolumeCountriesRule.test.mjs +0 -62
  487. package/dist/tests/scholarships/rules/SearchVolumeDisciplinesRule.test.d.mts +0 -1
  488. package/dist/tests/scholarships/rules/SearchVolumeDisciplinesRule.test.mjs +0 -62
  489. package/dist/tests/scholarships/utils/SearchDependencies.util.d.mts +0 -16
  490. package/dist/tests/scholarships/utils/SearchDependencies.util.mjs +0 -70
  491. package/dist/tests/scholarships/utils/SitemapDependencies.util.d.mts +0 -11
  492. package/dist/tests/scholarships/utils/SitemapDependencies.util.mjs +0 -33
  493. package/dist/tests/sitemap-generator/BaseSitemapUrlGeneratorManager.test.d.mts +0 -1
  494. package/dist/tests/sitemap-generator/BaseSitemapUrlGeneratorManager.test.mjs +0 -82
  495. package/dist/tests/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.test.d.mts +0 -1
  496. package/dist/tests/sitemap-generator/OrganisationsSitemapUrlGeneratorManager.test.mjs +0 -85
  497. package/dist/tests/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.test.d.mts +0 -1
  498. package/dist/tests/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.test.mjs +0 -77
  499. package/dist/tests/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.test.d.mts +0 -1
  500. package/dist/tests/sitemap-generator/ScholarshipsSitemapUrlGeneratorManager.test.mjs +0 -60
  501. package/dist/tests/structured-data/OrganisationStructuredDataFactory.test.d.mts +0 -1
  502. package/dist/tests/structured-data/OrganisationStructuredDataFactory.test.mjs +0 -334
  503. package/dist/tests/structured-data/ProgrammeStructuredDataFactory.test.d.mts +0 -1
  504. package/dist/tests/structured-data/ProgrammeStructuredDataFactory.test.mjs +0 -562
  505. package/dist/tests/structured-data/ScholarshipStructuredDataFactory.test.d.mts +0 -1
  506. package/dist/tests/structured-data/ScholarshipStructuredDataFactory.test.mjs +0 -292
  507. package/dist/tests/structured-data/SearchStructuredDataFactory.paywall.test.d.mts +0 -1
  508. package/dist/tests/structured-data/SearchStructuredDataFactory.paywall.test.mjs +0 -258
@@ -1,262 +0,0 @@
1
- import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';
2
- import { FilterKey } from '@studyportals/search-filters/server-side';
3
- import { SearchDependencies } from '../utils/SearchDependencies.util.mjs';
4
- import { SitemapDependencies } from '../utils/SitemapDependencies.util.mjs';
5
- import { CountryDegree } from '@/programmes/policies/CountryDegree';
6
- import { PortalType } from '@studyportals/domain-client';
7
- import { CountryPresenter } from '@/presenters/CountryPresenter';
8
- import { DegreePresenter } from '@/presenters/DegreePresenter';
9
- describe('Policy:CountryDegree', () => {
10
- describe('shouldIndex', () => {
11
- let searchDependenciesHelper;
12
- let countryDegreePolicy;
13
- beforeEach(() => {
14
- searchDependenciesHelper = new SearchDependencies();
15
- countryDegreePolicy = new CountryDegree(searchDependenciesHelper.dependencies);
16
- searchDependenciesHelper.setResultsCount(10);
17
- searchDependenciesHelper.setPageNumber(1);
18
- searchDependenciesHelper.setPortalType(PortalType.MASTER);
19
- });
20
- it('Should return true when all conditions are met', async () => {
21
- const countryId = '30'; // UK
22
- const degree = 'phd';
23
- searchDependenciesHelper.setPortalType(PortalType.PHD);
24
- searchDependenciesHelper.setFilterKeyValues(new Map([
25
- [FilterKey.COUNTRY, [countryId]],
26
- [FilterKey.DEGREE_TYPE, [degree]]
27
- ]));
28
- const result = await countryDegreePolicy.shouldIndex();
29
- expect(result).toBe(true);
30
- });
31
- it('Should return false when multiple countries are selected', async () => {
32
- const firstCountryId = '30'; // UK
33
- const secondCountryId = '21'; // Portugal
34
- const degree = 'mba';
35
- searchDependenciesHelper.setFilterKeyValues(new Map([
36
- [FilterKey.COUNTRY, [firstCountryId, secondCountryId]],
37
- [FilterKey.DEGREE_TYPE, [degree]]
38
- ]));
39
- const result = await countryDegreePolicy.shouldIndex();
40
- expect(result).toBe(false);
41
- });
42
- it('Should return false when multiple degree values are selected', async () => {
43
- const countryId = '30'; // UK
44
- const firstDegree = 'phd';
45
- const secondDegree = 'mba';
46
- searchDependenciesHelper.setFilterKeyValues(new Map([
47
- [FilterKey.COUNTRY, [countryId]],
48
- [FilterKey.DEGREE_TYPE, [firstDegree, secondDegree]]
49
- ]));
50
- const result = await countryDegreePolicy.shouldIndex();
51
- expect(result).toBe(false);
52
- });
53
- it('Should return false when no degree values are selected', async () => {
54
- const countryId = '30'; // UK
55
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.COUNTRY, [countryId]]]));
56
- const result = await countryDegreePolicy.shouldIndex();
57
- expect(result).toBe(false);
58
- });
59
- it('Should return false when no countries are selected', async () => {
60
- const degree = 'phd';
61
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DEGREE_TYPE, [degree]]]));
62
- const result = await countryDegreePolicy.shouldIndex();
63
- expect(result).toBe(false);
64
- });
65
- it('Should return false when other filters are selected', async () => {
66
- const countryId = '30'; // UK
67
- const degree = 'phd';
68
- const disciplineId = '54'; // Agriculture & Forestry
69
- searchDependenciesHelper.setFilterKeyValues(new Map([
70
- [FilterKey.COUNTRY, [countryId]],
71
- [FilterKey.DEGREE_TYPE, [degree]],
72
- [FilterKey.DISCIPLINES, [disciplineId]]
73
- ]));
74
- const result = await countryDegreePolicy.shouldIndex();
75
- expect(result).toBe(false);
76
- });
77
- it('Should return false when number of results is less than 7', async () => {
78
- const countryId = '30'; // UK
79
- const degree = 'phd';
80
- searchDependenciesHelper.setResultsCount(6);
81
- searchDependenciesHelper.setFilterKeyValues(new Map([
82
- [FilterKey.COUNTRY, [countryId]],
83
- [FilterKey.DEGREE_TYPE, [degree]]
84
- ]));
85
- const result = await countryDegreePolicy.shouldIndex();
86
- expect(result).toBe(false);
87
- });
88
- it('Should return false when page number is higher than 2', async () => {
89
- const countryId = '30'; // UK
90
- const degree = 'phd';
91
- searchDependenciesHelper.setPageNumber(3);
92
- searchDependenciesHelper.setFilterKeyValues(new Map([
93
- [FilterKey.COUNTRY, [countryId]],
94
- [FilterKey.DEGREE_TYPE, [degree]]
95
- ]));
96
- const result = await countryDegreePolicy.shouldIndex();
97
- expect(result).toBe(false);
98
- });
99
- it('Should return false when portal is distance learning', async () => {
100
- const countryId = '30'; // UK
101
- const degree = 'phd';
102
- searchDependenciesHelper.setPortalType(PortalType.DISTANCE_LEARNING);
103
- searchDependenciesHelper.setFilterKeyValues(new Map([
104
- [FilterKey.COUNTRY, [countryId]],
105
- [FilterKey.DEGREE_TYPE, [degree]]
106
- ]));
107
- const result = await countryDegreePolicy.shouldIndex();
108
- expect(result).toBe(false);
109
- });
110
- });
111
- describe('generateUrls', () => {
112
- let sitemapDependenciesHelper;
113
- let countryDegreePolicy;
114
- beforeEach(() => {
115
- sitemapDependenciesHelper = new SitemapDependencies();
116
- sitemapDependenciesHelper.setProgrammeCount(10); // More than 7 programs
117
- countryDegreePolicy = new CountryDegree(sitemapDependenciesHelper.dependencies);
118
- CountryPresenter.getInstance = vi.fn().mockReturnValue({
119
- getFragments: vi.fn().mockReturnValue([
120
- { id: '30', path: 'uk' },
121
- { id: '202', path: 'australia' },
122
- { id: '56', path: 'usa' }
123
- ])
124
- });
125
- DegreePresenter.getInstance = vi.fn().mockReturnValue({
126
- getFragments: vi.fn().mockReturnValue([
127
- { id: 'mba', path: 'mba' },
128
- { id: 'msc', path: 'msc' },
129
- { id: 'phd', path: 'phd' },
130
- { id: 'adiploma', path: 'adiploma' } // Non-indexable degree
131
- ])
132
- });
133
- });
134
- afterEach(() => {
135
- sitemapDependenciesHelper.resetMocks();
136
- });
137
- it('Should generate URLs for valid country-degree combinations', async () => {
138
- // Mock the checkRulesForSitemap to filter out adiploma for all countries
139
- // due to IndexableDegreeRule
140
- const resultMap = new Map();
141
- // Set up all possible combinations
142
- for (const country of ['30', '202', '56']) {
143
- for (const degree of ['mba', 'msc', 'phd', 'adiploma']) {
144
- const key = `${FilterKey.COUNTRY}:${country}|${FilterKey.DEGREE_TYPE}:${degree}`;
145
- // adiploma should be filtered out by IndexableDegreeRule
146
- resultMap.set(key, degree !== 'adiploma');
147
- }
148
- }
149
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
150
- // Call the method via reflection since it's protected
151
- const urls = await countryDegreePolicy.generateUrls();
152
- // Calculate expected URLs: 3 countries * 3 degrees (excluding adiploma) * 1 page = 9 URLs
153
- expect(urls).toHaveLength(9);
154
- // Verify paths structure
155
- expect(urls).toContain('mba/uk');
156
- expect(urls).toContain('msc/australia');
157
- expect(urls).toContain('phd/usa');
158
- // Verify adiploma is excluded
159
- expect(urls).not.toContain('adiploma/uk');
160
- expect(urls).not.toContain('adiploma/australia');
161
- expect(urls).not.toContain('adiploma/usa');
162
- });
163
- it('Should exclude specific country-degree combinations based on rules', async () => {
164
- // Create a map that returns false for specific combinations
165
- const resultMap = new Map();
166
- // Set UK with mba and USA with phd to fail, along with all adiploma combinations
167
- for (const country of ['30', '202', '56']) {
168
- for (const degree of ['mba', 'msc', 'phd', 'adiploma']) {
169
- const key = `${FilterKey.COUNTRY}:${country}|${FilterKey.DEGREE_TYPE}:${degree}`;
170
- const shouldPass = degree !== 'adiploma' && // All adiploma should fail
171
- !(country === '30' && degree === 'mba') && // UK with MBA should fail
172
- !(country === '56' && degree === 'phd'); // USA with PhD should fail
173
- resultMap.set(key, shouldPass);
174
- }
175
- }
176
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
177
- const urls = await countryDegreePolicy.generateUrls();
178
- // Calculate expected URLs: 9 total combinations - 2 specific exclusions - 3 adiploma exclusions * 1 page = 7 URLs
179
- expect(urls).toHaveLength(7);
180
- // Verify excluded combinations
181
- expect(urls).not.toContain('mba/uk');
182
- expect(urls).not.toContain('phd/usa');
183
- expect(urls).not.toContain('adiploma/uk');
184
- // Verify included combinations
185
- expect(urls).toContain('msc/uk');
186
- expect(urls).toContain('phd/uk');
187
- expect(urls).toContain('mba/usa');
188
- });
189
- it('Should exclude all URLs when all rule checks fail', async () => {
190
- // Create a map that returns false for all combinations
191
- const resultMap = new Map();
192
- for (const country of ['30', '202', '56']) {
193
- for (const degree of ['mba', 'msc', 'phd', 'adiploma']) {
194
- const key = `${FilterKey.COUNTRY}:${country}|${FilterKey.DEGREE_TYPE}:${degree}`;
195
- resultMap.set(key, false);
196
- }
197
- }
198
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
199
- const urls = await countryDegreePolicy.generateUrls();
200
- // Should include no URLs
201
- expect(urls).toHaveLength(0);
202
- });
203
- it('Should handle empty country fragments', async () => {
204
- // Mock the CountryPresenter to return empty fragments
205
- CountryPresenter.getInstance.mockReturnValueOnce({
206
- getFragments: vi.fn().mockReturnValue([])
207
- });
208
- sitemapDependenciesHelper.mockCheckRulesForSitemap();
209
- const urls = await countryDegreePolicy.generateUrls();
210
- // Should return empty array
211
- expect(urls).toHaveLength(0);
212
- });
213
- it('Should handle empty degree fragments', async () => {
214
- // Mock the DegreePresenter to return empty fragments
215
- DegreePresenter.getInstance.mockReturnValueOnce({
216
- getFragments: vi.fn().mockReturnValue([])
217
- });
218
- sitemapDependenciesHelper.mockCheckRulesForSitemap();
219
- const urls = await countryDegreePolicy.generateUrls();
220
- // Should return empty array
221
- expect(urls).toHaveLength(0);
222
- });
223
- it('Should handle performance with large number of combinations', async () => {
224
- // Generate larger datasets for testing
225
- const largeCountrySet = Array.from({ length: 20 }, (_, index) => ({
226
- id: `country-${index}`,
227
- path: `country-path-${index}`
228
- }));
229
- const largeDegreeSet = Array.from({ length: 10 }, (_, index) => ({
230
- id: `degree-${index}`,
231
- path: `degree-path-${index}`
232
- }));
233
- // Override mocks with large datasets
234
- CountryPresenter.getInstance.mockReturnValueOnce({
235
- getFragments: vi.fn().mockReturnValue(largeCountrySet)
236
- });
237
- DegreePresenter.getInstance.mockReturnValueOnce({
238
- getFragments: vi.fn().mockReturnValue(largeDegreeSet)
239
- });
240
- // Mock to allow only combinations where both country and degree indices are even
241
- const resultMap = new Map();
242
- for (let c = 0; c < largeCountrySet.length; c++) {
243
- for (let d = 0; d < largeDegreeSet.length; d++) {
244
- const countryId = largeCountrySet[c].id;
245
- const degreeId = largeDegreeSet[d].id;
246
- const key = `${FilterKey.COUNTRY}:${countryId}|${FilterKey.DEGREE_TYPE}:${degreeId}`;
247
- resultMap.set(key, c % 2 === 0 && d % 2 === 0);
248
- }
249
- }
250
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap, false);
251
- const urls = await countryDegreePolicy.generateUrls();
252
- // Calculate expected count: 10 countries (even indices) * 5 degrees (even indices)
253
- // 10 * 5 = 50 URLs
254
- expect(urls).toHaveLength(50);
255
- // Test specific items
256
- expect(urls).toContain('degree-path-0/country-path-0'); // Both even indices
257
- expect(urls).toContain('degree-path-2/country-path-4'); // Both even indices
258
- expect(urls).not.toContain('degree-path-1/country-path-0'); // Odd degree index
259
- expect(urls).not.toContain('degree-path-0/country-path-1'); // Odd country index
260
- });
261
- });
262
- });
@@ -1,234 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
2
- import { FilterKey } from '@studyportals/search-filters/server-side';
3
- import { SearchDependencies } from '../utils/SearchDependencies.util.mjs';
4
- import { CountryDuration } from '@/programmes/policies/CountryDuration';
5
- import { PortalType } from '@studyportals/domain-client';
6
- import { SitemapDependencies } from '../utils/SitemapDependencies.util.mjs';
7
- import { CountryPresenter } from '@/presenters/CountryPresenter';
8
- import { DurationPresenter } from '@/presenters/DurationPresenter';
9
- describe('Policy:CountryDuration', () => {
10
- describe('shouldIndex', () => {
11
- let searchDependenciesHelper;
12
- let countryDurationPolicy;
13
- beforeEach(() => {
14
- searchDependenciesHelper = new SearchDependencies();
15
- countryDurationPolicy = new CountryDuration(searchDependenciesHelper.dependencies);
16
- searchDependenciesHelper.setResultsCount(10);
17
- searchDependenciesHelper.setPageNumber(1);
18
- searchDependenciesHelper.setPortalType(PortalType.BACHELOR);
19
- });
20
- it('Should return true when all conditions are met', async () => {
21
- const countryId = '30'; // UK
22
- const duration = '[360,360]'; // 1 year
23
- searchDependenciesHelper.setFilterKeyValues(new Map([
24
- [FilterKey.COUNTRY, [countryId]],
25
- [FilterKey.DURATION, [duration]]
26
- ]));
27
- const result = await countryDurationPolicy.shouldIndex();
28
- expect(result).toBe(true);
29
- });
30
- it('Should return false when multiple countries are selected', async () => {
31
- const firstCountryId = '30'; // UK
32
- const secondCountryId = '21'; // Portugal
33
- const duration = '[360,360]'; // 1 year
34
- searchDependenciesHelper.setFilterKeyValues(new Map([
35
- [FilterKey.COUNTRY, [firstCountryId, secondCountryId]],
36
- [FilterKey.DURATION, [duration]]
37
- ]));
38
- const result = await countryDurationPolicy.shouldIndex();
39
- expect(result).toBe(false);
40
- });
41
- it('Should return false when multiple duration values are selected', async () => {
42
- const countryId = '30'; // UK
43
- const firstDuration = '[360,360]'; // 1 year
44
- const secondDuration = '[720,720]'; // 2 years
45
- searchDependenciesHelper.setFilterKeyValues(new Map([
46
- [FilterKey.COUNTRY, [countryId]],
47
- [FilterKey.DURATION, [firstDuration, secondDuration]]
48
- ]));
49
- const result = await countryDurationPolicy.shouldIndex();
50
- expect(result).toBe(false);
51
- });
52
- it('Should return false when no duration values are selected', async () => {
53
- const countryId = '30'; // UK
54
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.COUNTRY, [countryId]]]));
55
- const result = await countryDurationPolicy.shouldIndex();
56
- expect(result).toBe(false);
57
- });
58
- it('Should return false when no countries are selected', async () => {
59
- const duration = '[360,360]'; // 1 year
60
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DURATION, [duration]]]));
61
- const result = await countryDurationPolicy.shouldIndex();
62
- expect(result).toBe(false);
63
- });
64
- it('Should return false when other filters are selected', async () => {
65
- const countryId = '30'; // UK
66
- const duration = '[360,360]'; // 1 year
67
- const disciplineId = '54'; // Agriculture & Forestry
68
- searchDependenciesHelper.setFilterKeyValues(new Map([
69
- [FilterKey.COUNTRY, [countryId]],
70
- [FilterKey.DURATION, [duration]],
71
- [FilterKey.DISCIPLINES, [disciplineId]]
72
- ]));
73
- const result = await countryDurationPolicy.shouldIndex();
74
- expect(result).toBe(false);
75
- });
76
- it('Should return false when duration is not indexable (i.e. 2 years)', async () => {
77
- const countryId = '30'; // UK
78
- const duration = '[720,720]'; // 2 years
79
- searchDependenciesHelper.setFilterKeyValues(new Map([
80
- [FilterKey.COUNTRY, [countryId]],
81
- [FilterKey.DURATION, [duration]]
82
- ]));
83
- const result = await countryDurationPolicy.shouldIndex();
84
- expect(result).toBe(false);
85
- });
86
- it('Should return false when number of results is less than 7', async () => {
87
- const countryId = '30'; // UK
88
- const duration = '[360,360]'; // 1 year
89
- searchDependenciesHelper.setResultsCount(6);
90
- searchDependenciesHelper.setFilterKeyValues(new Map([
91
- [FilterKey.COUNTRY, [countryId]],
92
- [FilterKey.DURATION, [duration]]
93
- ]));
94
- const result = await countryDurationPolicy.shouldIndex();
95
- expect(result).toBe(false);
96
- });
97
- it('Should return false when page number is higher than 2', async () => {
98
- const countryId = '30'; // UK
99
- const duration = '[360,360]'; // 1 year
100
- searchDependenciesHelper.setPageNumber(4);
101
- searchDependenciesHelper.setFilterKeyValues(new Map([
102
- [FilterKey.COUNTRY, [countryId]],
103
- [FilterKey.DURATION, [duration]]
104
- ]));
105
- const result = await countryDurationPolicy.shouldIndex();
106
- expect(result).toBe(false);
107
- });
108
- it('Should return false when portal is distance learning', async () => {
109
- const countryId = '30'; // UK
110
- const duration = '[360,360]'; // 1 year
111
- searchDependenciesHelper.setPortalType(PortalType.DISTANCE_LEARNING);
112
- searchDependenciesHelper.setFilterKeyValues(new Map([
113
- [FilterKey.COUNTRY, [countryId]],
114
- [FilterKey.DURATION, [duration]]
115
- ]));
116
- const result = await countryDurationPolicy.shouldIndex();
117
- expect(result).toBe(false);
118
- });
119
- });
120
- describe('generateUrls', () => {
121
- let sitemapDependenciesHelper;
122
- let countryDurationPolicy;
123
- beforeEach(() => {
124
- sitemapDependenciesHelper = new SitemapDependencies();
125
- sitemapDependenciesHelper.setProgrammeCount(10); // More than 7 programs
126
- countryDurationPolicy = new CountryDuration(sitemapDependenciesHelper.dependencies);
127
- CountryPresenter.getInstance = vi.fn().mockReturnValue({
128
- getFragments: vi.fn().mockReturnValue([
129
- { id: '30', path: 'uk' },
130
- { id: '202', path: 'australia' },
131
- { id: '56', path: 'usa' }
132
- ])
133
- });
134
- DurationPresenter.getInstance = vi.fn().mockReturnValue({
135
- getFragments: vi.fn().mockReturnValue([
136
- { id: '[360,360]', path: '1-year' },
137
- { id: '[720,720]', path: '2-years' },
138
- { id: '[1080,1080]', path: '3-years' },
139
- { id: '[1440,1440]', path: '4-years' },
140
- { id: '[-1,719]', path: 'less-than-2-years' } // Non-indexable duration
141
- ])
142
- });
143
- });
144
- afterEach(() => {
145
- sitemapDependenciesHelper.resetMocks();
146
- });
147
- it('Should generate URLs for valid country-duration combinations', async () => {
148
- // Mock the checkRulesForSitemap to filter out non-indexable durations for all countries
149
- const resultMap = new Map();
150
- // Set up all possible combinations - only [360,360] (1-year) is allowed by the policy
151
- for (const country of ['30', '202', '56']) {
152
- for (const duration of ['[360,360]', '[720,720]', '[1080,1080]', '[1440,1440]', '[-1,719]']) {
153
- const key = `${FilterKey.COUNTRY}:${country}|${FilterKey.DURATION}:${duration}`;
154
- // Only [360,360] should be allowed by the policy's allowedDurationIds
155
- resultMap.set(key, duration === '[360,360]');
156
- }
157
- }
158
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
159
- // Call the method via reflection since it's protected
160
- const urls = await countryDurationPolicy.generateUrls();
161
- // Calculate expected URLs: 3 countries * 1 duration ([360,360] only) * 1 page = 3 URLs
162
- expect(urls).toHaveLength(3);
163
- // Verify paths structure
164
- expect(urls).toContain('1-year/uk');
165
- expect(urls).toContain('1-year/australia');
166
- expect(urls).toContain('1-year/usa');
167
- // Verify other durations are excluded
168
- expect(urls).not.toContain('2-years/uk');
169
- expect(urls).not.toContain('3-years/uk');
170
- expect(urls).not.toContain('4-years/uk');
171
- expect(urls).not.toContain('less-than-2-years/uk');
172
- });
173
- it('Should exclude specific country-duration combinations based on rules', async () => {
174
- // Create a map that returns false for specific combinations
175
- const resultMap = new Map();
176
- // Only [360,360] is allowed by policy, but we can exclude specific countries
177
- for (const country of ['30', '202', '56']) {
178
- for (const duration of ['[360,360]', '[720,720]', '[1080,1080]', '[1440,1440]', '[-1,719]']) {
179
- const key = `${FilterKey.COUNTRY}:${country}|${FilterKey.DURATION}:${duration}`;
180
- // Only [360,360] is allowed and exclude UK (30) for testing
181
- const shouldPass = duration === '[360,360]' && country !== '30';
182
- resultMap.set(key, shouldPass);
183
- }
184
- }
185
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
186
- const urls = await countryDurationPolicy.generateUrls();
187
- // Calculate expected URLs: 2 countries (excluding UK) * 1 duration ([360,360]) = 2 URLs
188
- expect(urls).toHaveLength(2);
189
- // Verify excluded combinations
190
- expect(urls).not.toContain('1-year/uk');
191
- expect(urls).not.toContain('2-years/australia');
192
- expect(urls).not.toContain('3-years/usa');
193
- expect(urls).not.toContain('less-than-2-years/uk');
194
- // Verify included combinations
195
- expect(urls).toContain('1-year/australia');
196
- expect(urls).toContain('1-year/usa');
197
- });
198
- it('Should exclude all URLs when all rule checks fail', async () => {
199
- // Create a map that returns false for all combinations
200
- const resultMap = new Map();
201
- for (const country of ['30', '202', '56']) {
202
- // Include [360,360] since that's what the policy actually uses
203
- for (const duration of ['[360,360]', '[720,720]', '[1080,1080]', '[1440,1440]', '[-1,719]']) {
204
- const key = `${FilterKey.COUNTRY}:${country}|${FilterKey.DURATION}:${duration}`;
205
- resultMap.set(key, false);
206
- }
207
- }
208
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
209
- const urls = await countryDurationPolicy.generateUrls();
210
- // Should include no URLs
211
- expect(urls).toHaveLength(0);
212
- });
213
- it('Should handle empty country fragments', async () => {
214
- // Mock the CountryPresenter to return empty fragments
215
- CountryPresenter.getInstance.mockReturnValueOnce({
216
- getFragments: vi.fn().mockReturnValue([])
217
- });
218
- sitemapDependenciesHelper.mockCheckRulesForSitemap();
219
- const urls = await countryDurationPolicy.generateUrls();
220
- // Should return empty array
221
- expect(urls).toHaveLength(0);
222
- });
223
- it('Should handle empty duration fragments', async () => {
224
- // Mock the DurationPresenter to return empty fragments
225
- DurationPresenter.getInstance.mockReturnValueOnce({
226
- getFragments: vi.fn().mockReturnValue([])
227
- });
228
- sitemapDependenciesHelper.mockCheckRulesForSitemap();
229
- const urls = await countryDurationPolicy.generateUrls();
230
- // Should return empty array
231
- expect(urls).toHaveLength(0);
232
- });
233
- });
234
- });