@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,253 +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 { CountryFormat } from '@/programmes/policies/CountryFormat';
5
- import { PortalType } from '@studyportals/domain-client';
6
- import { SitemapDependencies } from '../utils/SitemapDependencies.util.mjs';
7
- import { CountryPresenter } from '@/presenters/CountryPresenter';
8
- import { FormatPresenter } from '@/presenters/FormatPresenter';
9
- describe('Policy:CountryFormat', () => {
10
- describe('shouldIndex', () => {
11
- let searchDependenciesHelper;
12
- let countryFormatPolicy;
13
- beforeEach(() => {
14
- searchDependenciesHelper = new SearchDependencies();
15
- countryFormatPolicy = new CountryFormat(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 = '82'; // US
22
- const format = 'parttime';
23
- searchDependenciesHelper.setFilterKeyValues(new Map([
24
- [FilterKey.COUNTRY, [countryId]],
25
- [FilterKey.ATTENDANCE, [format]]
26
- ]));
27
- const result = await countryFormatPolicy.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 format = 'parttime';
34
- searchDependenciesHelper.setFilterKeyValues(new Map([
35
- [FilterKey.COUNTRY, [firstCountryId, secondCountryId]],
36
- [FilterKey.ATTENDANCE, [format]]
37
- ]));
38
- const result = await countryFormatPolicy.shouldIndex();
39
- expect(result).toBe(false);
40
- });
41
- it('Should return false when multiple format values are selected', async () => {
42
- const countryId = '30'; // UK
43
- const firstFormat = 'parttime';
44
- const secondFormat = 'fulltime';
45
- searchDependenciesHelper.setFilterKeyValues(new Map([
46
- [FilterKey.COUNTRY, [countryId]],
47
- [FilterKey.ATTENDANCE, [firstFormat, secondFormat]]
48
- ]));
49
- const result = await countryFormatPolicy.shouldIndex();
50
- expect(result).toBe(false);
51
- });
52
- it('Should return false when no format values are selected', async () => {
53
- const countryId = '30'; // UK
54
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.COUNTRY, [countryId]]]));
55
- const result = await countryFormatPolicy.shouldIndex();
56
- expect(result).toBe(false);
57
- });
58
- it('Should return false when no countries are selected', async () => {
59
- const format = 'parttime';
60
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.EDUCATIONAL_FORM, [format]]]));
61
- const result = await countryFormatPolicy.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 format = 'parttime';
67
- const disciplineId = '54'; // Agriculture & Forestry
68
- searchDependenciesHelper.setFilterKeyValues(new Map([
69
- [FilterKey.COUNTRY, [countryId]],
70
- [FilterKey.ATTENDANCE, [format]],
71
- [FilterKey.DISCIPLINES, [disciplineId]]
72
- ]));
73
- const result = await countryFormatPolicy.shouldIndex();
74
- expect(result).toBe(false);
75
- });
76
- it('Should return false when format is not part-time', async () => {
77
- const countryId = '30'; // UK
78
- const format = 'fulltime';
79
- searchDependenciesHelper.setFilterKeyValues(new Map([
80
- [FilterKey.COUNTRY, [countryId]],
81
- [FilterKey.ATTENDANCE, [format]]
82
- ]));
83
- const result = await countryFormatPolicy.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 format = 'parttime';
89
- searchDependenciesHelper.setResultsCount(6);
90
- searchDependenciesHelper.setFilterKeyValues(new Map([
91
- [FilterKey.COUNTRY, [countryId]],
92
- [FilterKey.ATTENDANCE, [format]]
93
- ]));
94
- const result = await countryFormatPolicy.shouldIndex();
95
- expect(result).toBe(false);
96
- });
97
- it('Should return false when page number is higher than 2', async () => {
98
- const countryId = '82'; // US
99
- const format = 'parttime';
100
- searchDependenciesHelper.setPageNumber(5);
101
- searchDependenciesHelper.setFilterKeyValues(new Map([
102
- [FilterKey.COUNTRY, [countryId]],
103
- [FilterKey.ATTENDANCE, [format]]
104
- ]));
105
- const result = await countryFormatPolicy.shouldIndex();
106
- expect(result).toBe(false);
107
- });
108
- it('Should return false when portal is distance learning', async () => {
109
- const countryId = '82'; // US
110
- const format = 'parttime';
111
- searchDependenciesHelper.setPortalType(PortalType.DISTANCE_LEARNING);
112
- searchDependenciesHelper.setFilterKeyValues(new Map([
113
- [FilterKey.COUNTRY, [countryId]],
114
- [FilterKey.ATTENDANCE, [format]]
115
- ]));
116
- const result = await countryFormatPolicy.shouldIndex();
117
- expect(result).toBe(false);
118
- });
119
- });
120
- describe('generateUrls', () => {
121
- let sitemapDependenciesHelper;
122
- let countryFormatPolicy;
123
- beforeEach(() => {
124
- sitemapDependenciesHelper = new SitemapDependencies();
125
- sitemapDependenciesHelper.setProgrammeCount(10); // More than 7 programs
126
- countryFormatPolicy = new CountryFormat(sitemapDependenciesHelper.dependencies);
127
- CountryPresenter.getInstance = vi.fn().mockReturnValue({
128
- getFragments: vi.fn().mockReturnValue([
129
- { id: '30', path: 'uk' },
130
- { id: '21', path: 'portugal' },
131
- { id: '56', path: 'usa' },
132
- { id: '82', path: 'netherlands' }
133
- ])
134
- });
135
- FormatPresenter.getInstance = vi.fn().mockReturnValue({
136
- getFragments: vi.fn().mockReturnValue([
137
- { id: 'parttime', path: 'part-time-programmes' },
138
- { id: 'fulltime', path: 'full-time-programmes' }
139
- ])
140
- });
141
- });
142
- afterEach(() => {
143
- sitemapDependenciesHelper.resetMocks();
144
- });
145
- it('Should generate URLs for all valid country-format combinations', async () => {
146
- // Mock the checkRulesForSitemap to only allow part-time format
147
- const resultMap = new Map();
148
- // Set rules to only allow part-time format (as per shouldIndex test)
149
- for (const countryId of ['30', '21', '56', '82']) {
150
- for (const formatId of ['parttime', 'fulltime']) {
151
- const key = `${FilterKey.ATTENDANCE}:${formatId}|${FilterKey.COUNTRY}:${countryId}`;
152
- resultMap.set(key, formatId === 'parttime');
153
- }
154
- }
155
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
156
- // Call the method via reflection since it's protected
157
- const urls = await countryFormatPolicy.generateUrls();
158
- // Verify only part-time and full-time format is included (2 format * 4 countries * 1 pages = 8 URLs)
159
- expect(urls).toHaveLength(8);
160
- expect(urls).toContain('part-time-programmes/uk');
161
- expect(urls).toContain('part-time-programmes/portugal');
162
- expect(urls).toContain('part-time-programmes/usa');
163
- expect(urls).toContain('part-time-programmes/netherlands');
164
- expect(urls).toContain('full-time-programmes/uk');
165
- expect(urls).toContain('full-time-programmes/portugal');
166
- });
167
- it('Should exclude certain country-format combinations', async () => {
168
- // Mock to exclude UK combinations
169
- const resultMap = new Map();
170
- // Set up rules to exclude UK for all formats
171
- for (const countryId of ['30', '21', '56', '82']) {
172
- for (const formatId of ['parttime', 'fulltime']) {
173
- const key = `${FilterKey.COUNTRY}:${countryId}|${FilterKey.ATTENDANCE}:${formatId}`;
174
- // Exclude UK (30) and only allow part-time for others
175
- resultMap.set(key, countryId !== '30' && formatId === 'parttime');
176
- }
177
- }
178
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
179
- const urls = await countryFormatPolicy.generateUrls();
180
- // Should include others but not UK (1 format * 3 countries * 2 pages = 6 URLs)
181
- expect(urls).toHaveLength(3);
182
- expect(urls).toContain('part-time-programmes/portugal');
183
- expect(urls).toContain('part-time-programmes/usa');
184
- expect(urls).toContain('part-time-programmes/netherlands');
185
- expect(urls).not.toContain('part-time-programmes/uk');
186
- expect(urls).not.toContain('full-time-programmes/uk');
187
- });
188
- it('Should exclude all URLs when all checks fail', async () => {
189
- // Create a map that returns false for all combinations
190
- const resultMap = new Map();
191
- // Set all combinations to fail
192
- for (const countryId of ['30', '21', '56', '82']) {
193
- for (const formatId of ['parttime', 'fulltime']) {
194
- const key = `${FilterKey.ATTENDANCE}:${formatId}|${FilterKey.COUNTRY}:${countryId}`;
195
- resultMap.set(key, false);
196
- }
197
- }
198
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap, false);
199
- const urls = await countryFormatPolicy.generateUrls();
200
- // Should include no URLs
201
- expect(urls).toHaveLength(0);
202
- });
203
- it('Should handle empty fragments arrays', 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 countryFormatPolicy.generateUrls();
210
- // Should return empty array
211
- expect(urls).toHaveLength(0);
212
- });
213
- it('Should handle large number of combinations efficiently', async () => {
214
- // Generate a larger set of countries (20) and format types (3)
215
- const largeCountrySet = Array.from({ length: 20 }, (_, index) => ({
216
- id: `${1000 + index}`,
217
- path: `country-${1000 + index}`
218
- }));
219
- const largeFormatSet = Array.from({ length: 3 }, (_, index) => ({
220
- id: `format-${index}`,
221
- path: `format-type-${index}`
222
- }));
223
- // Mock the presenters to return large sets
224
- CountryPresenter.getInstance.mockReturnValueOnce({
225
- getFragments: vi.fn().mockReturnValue(largeCountrySet)
226
- });
227
- FormatPresenter.getInstance.mockReturnValueOnce({
228
- getFragments: vi.fn().mockReturnValue(largeFormatSet)
229
- });
230
- // Mock to allow only specific combinations
231
- // Only allow countries divisible by 3, and format index 0 (part-time equivalent)
232
- const resultMap = new Map();
233
- for (let c = 0; c < largeCountrySet.length; c++) {
234
- for (let f = 0; f < largeFormatSet.length; f++) {
235
- const countryId = largeCountrySet[c].id;
236
- const formatId = largeFormatSet[f].id;
237
- const key = `${FilterKey.COUNTRY}:${countryId}|${FilterKey.ATTENDANCE}:${formatId}`;
238
- // Only include countries where index is divisible by 3, and format index 0
239
- resultMap.set(key, c % 3 === 0 && f === 0);
240
- }
241
- }
242
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
243
- const urls = await countryFormatPolicy.generateUrls();
244
- // Should generate 7 countries (20/3 rounded up) * 1 format type * 2 pages = 14 URLs
245
- expect(urls).toHaveLength(7);
246
- // Test some specific combinations
247
- expect(urls).toContain('format-type-0/country-1000'); // First valid country, allowed format
248
- expect(urls).toContain('format-type-0/country-1003'); // Another valid country, allowed format
249
- expect(urls).not.toContain('format-type-0/country-1001'); // Invalid country (not divisible by 3)
250
- expect(urls).not.toContain('format-type-1/country-1000'); // Valid country, but invalid format
251
- });
252
- });
253
- });
@@ -1,179 +0,0 @@
1
- import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';
2
- import { FilterKey } from '@studyportals/search-filters/server-side';
3
- import { PortalType } from '@studyportals/domain-client';
4
- import { SearchDependencies } from '../utils/SearchDependencies.util.mjs';
5
- import { SitemapDependencies } from '../utils/SitemapDependencies.util.mjs';
6
- import { DegreeAttendanceDiscipline } from '@/programmes/policies/DegreeAttendanceDiscipline';
7
- import { DegreePresenter } from '@/presenters/DegreePresenter';
8
- import { AttendancePresenter } from '@/presenters/AttendancePresenter';
9
- import { DisciplinePresenter } from '@/presenters/DisciplinePresenter';
10
- describe('Policy:DegreeAttendanceDiscipline', () => {
11
- describe('shouldIndex', () => {
12
- let searchDependenciesHelper;
13
- let degreeAttendanceDisciplinePolicy;
14
- beforeEach(() => {
15
- searchDependenciesHelper = new SearchDependencies();
16
- degreeAttendanceDisciplinePolicy = new DegreeAttendanceDiscipline(searchDependenciesHelper.dependencies);
17
- searchDependenciesHelper.setResultsCount(7);
18
- searchDependenciesHelper.setPageNumber(1);
19
- searchDependenciesHelper.setPortalType(PortalType.MASTER);
20
- });
21
- describe('valid degree combinations', () => {
22
- it.each([
23
- 'msc',
24
- 'ma',
25
- 'mba'
26
- ])('Should return true for %s with online attendance and any discipline', async (degreeType) => {
27
- searchDependenciesHelper.setFilterKeyValues(new Map([
28
- [FilterKey.DEGREE_TYPE, [degreeType]],
29
- [FilterKey.DELIVERY_METHOD, ['online']],
30
- [FilterKey.DISCIPLINES, ['54']] // Any discipline
31
- ]));
32
- const result = await degreeAttendanceDisciplinePolicy.shouldIndex();
33
- expect(result).toBe(true);
34
- });
35
- });
36
- describe('invalid combinations', () => {
37
- it('Should return false for valid degrees with non-online attendance', async () => {
38
- searchDependenciesHelper.setFilterKeyValues(new Map([
39
- [FilterKey.DEGREE_TYPE, ['msc']],
40
- [FilterKey.DELIVERY_METHOD, ['on-campus']], // Non-online
41
- [FilterKey.DISCIPLINES, ['54']]
42
- ]));
43
- const result = await degreeAttendanceDisciplinePolicy.shouldIndex();
44
- expect(result).toBe(false);
45
- });
46
- it('Should return false for unsupported degree types', async () => {
47
- searchDependenciesHelper.setFilterKeyValues(new Map([
48
- [FilterKey.DEGREE_TYPE, ['llm']], // Not supported by this policy
49
- [FilterKey.DELIVERY_METHOD, ['online']],
50
- [FilterKey.DISCIPLINES, ['54']]
51
- ]));
52
- const result = await degreeAttendanceDisciplinePolicy.shouldIndex();
53
- expect(result).toBe(false);
54
- });
55
- });
56
- describe('filter validation', () => {
57
- it('Should return false when multiple degrees are selected', async () => {
58
- searchDependenciesHelper.setFilterKeyValues(new Map([
59
- [FilterKey.DEGREE_TYPE, ['msc', 'ma']],
60
- [FilterKey.DELIVERY_METHOD, ['online']],
61
- [FilterKey.DISCIPLINES, ['54']]
62
- ]));
63
- const result = await degreeAttendanceDisciplinePolicy.shouldIndex();
64
- expect(result).toBe(false);
65
- });
66
- it('Should return false when multiple attendance methods are selected', async () => {
67
- searchDependenciesHelper.setFilterKeyValues(new Map([
68
- [FilterKey.DEGREE_TYPE, ['msc']],
69
- [FilterKey.DELIVERY_METHOD, ['online', 'on-campus']],
70
- [FilterKey.DISCIPLINES, ['54']]
71
- ]));
72
- const result = await degreeAttendanceDisciplinePolicy.shouldIndex();
73
- expect(result).toBe(false);
74
- });
75
- it('Should return false when multiple disciplines are selected', async () => {
76
- searchDependenciesHelper.setFilterKeyValues(new Map([
77
- [FilterKey.DEGREE_TYPE, ['msc']],
78
- [FilterKey.DELIVERY_METHOD, ['online']],
79
- [FilterKey.DISCIPLINES, ['54', '12']]
80
- ]));
81
- const result = await degreeAttendanceDisciplinePolicy.shouldIndex();
82
- expect(result).toBe(false);
83
- });
84
- it('Should return false when other filters are selected', async () => {
85
- searchDependenciesHelper.setFilterKeyValues(new Map([
86
- [FilterKey.DEGREE_TYPE, ['msc']],
87
- [FilterKey.DELIVERY_METHOD, ['online']],
88
- [FilterKey.DISCIPLINES, ['54']],
89
- [FilterKey.COUNTRY, ['82']] // Extra filter
90
- ]));
91
- const result = await degreeAttendanceDisciplinePolicy.shouldIndex();
92
- expect(result).toBe(false);
93
- });
94
- });
95
- it('Should return false when number of results is less than 7', async () => {
96
- searchDependenciesHelper.setResultsCount(6);
97
- searchDependenciesHelper.setFilterKeyValues(new Map([
98
- [FilterKey.DEGREE_TYPE, ['msc']],
99
- [FilterKey.DELIVERY_METHOD, ['online']],
100
- [FilterKey.DISCIPLINES, ['54']]
101
- ]));
102
- const result = await degreeAttendanceDisciplinePolicy.shouldIndex();
103
- expect(result).toBe(false);
104
- });
105
- });
106
- describe('generateUrls', () => {
107
- let sitemapDependenciesHelper;
108
- let degreeAttendanceDisciplinePolicy;
109
- beforeEach(() => {
110
- sitemapDependenciesHelper = new SitemapDependencies();
111
- sitemapDependenciesHelper.setProgrammeCount(10);
112
- degreeAttendanceDisciplinePolicy = new DegreeAttendanceDiscipline(sitemapDependenciesHelper.dependencies);
113
- DegreePresenter.getInstance = vi.fn().mockReturnValue({
114
- getFragments: vi.fn().mockReturnValue([
115
- { id: 'msc', path: 'masters' },
116
- { id: 'ma', path: 'ma' },
117
- { id: 'mba', path: 'mba' },
118
- { id: 'llm', path: 'llm' } // Not supported by this policy
119
- ])
120
- });
121
- AttendancePresenter.getInstance = vi.fn().mockReturnValue({
122
- getFragments: vi.fn().mockReturnValue([
123
- { id: 'online', path: 'online' },
124
- { id: 'on-campus', path: 'on-campus' }
125
- ])
126
- });
127
- DisciplinePresenter.getInstance = vi.fn().mockReturnValue({
128
- getFragments: vi.fn().mockReturnValue([
129
- { id: '54', path: 'agriculture-forestry' },
130
- { id: '12', path: 'applied-sciences' },
131
- { id: '356', path: 'computer-science' }
132
- ])
133
- });
134
- });
135
- afterEach(() => {
136
- sitemapDependenciesHelper.resetMocks();
137
- });
138
- it('Should generate URLs for supported degrees with online attendance and all disciplines', async () => {
139
- const resultMap = new Map();
140
- // Supported degrees: MSc, MA, MBA
141
- const supportedDegrees = ['msc', 'ma', 'mba'];
142
- const disciplines = ['54', '12', '356'];
143
- for (const degree of supportedDegrees) {
144
- for (const discipline of disciplines) {
145
- const key = `${FilterKey.DEGREE_TYPE}:${degree}|${FilterKey.DELIVERY_METHOD}:online|${FilterKey.DISCIPLINES}:${discipline}`;
146
- resultMap.set(key, true);
147
- }
148
- }
149
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
150
- const urls = await degreeAttendanceDisciplinePolicy.generateUrls();
151
- // 3 degrees * 3 disciplines * 2 pages = 18 URLs
152
- expect(urls.length).toBeGreaterThan(0);
153
- expect(urls).toContain('masters/online/agriculture-forestry');
154
- expect(urls).toContain('ma/online/applied-sciences');
155
- expect(urls).toContain('mba/online/computer-science');
156
- });
157
- it('Should exclude unsupported degrees', async () => {
158
- const resultMap = new Map();
159
- // Only allow supported degrees
160
- const supportedDegrees = ['msc', 'ma', 'mba'];
161
- const allDegrees = ['msc', 'ma', 'mba', 'llm'];
162
- const disciplines = ['54', '12', '356'];
163
- for (const degree of allDegrees) {
164
- for (const discipline of disciplines) {
165
- const key = `${FilterKey.DEGREE_TYPE}:${degree}|${FilterKey.DELIVERY_METHOD}:online|${FilterKey.DISCIPLINES}:${discipline}`;
166
- // Only allow supported degrees
167
- resultMap.set(key, supportedDegrees.includes(degree));
168
- }
169
- }
170
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
171
- const urls = await degreeAttendanceDisciplinePolicy.generateUrls();
172
- // Should include supported degrees
173
- expect(urls).toContain('masters/online/agriculture-forestry');
174
- expect(urls).toContain('mba/online/computer-science');
175
- // Should not include unsupported degrees
176
- expect(urls).not.toContain('llm/online/agriculture-forestry');
177
- });
178
- });
179
- });