@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,60 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import { EducationalFormPresenter } from '@/presenters/EducationalFormPresenter';
3
- import { FilterKey } from '@studyportals/search-filters/server-side';
4
- describe('EducationalFormPresenter', () => {
5
- beforeEach(() => {
6
- // Reset the singleton instance before each test
7
- EducationalFormPresenter.instance = undefined;
8
- });
9
- it('Should be a singleton', () => {
10
- const instance1 = EducationalFormPresenter.getInstance();
11
- const instance2 = EducationalFormPresenter.getInstance();
12
- expect(instance1).toBe(instance2);
13
- });
14
- it('Should have the correct filter key', () => {
15
- const presenter = EducationalFormPresenter.getInstance();
16
- expect(presenter.filterKey).toBe(FilterKey.EDUCATIONAL_FORM);
17
- });
18
- it('Should return educational form fragments', () => {
19
- const presenter = EducationalFormPresenter.getInstance();
20
- const fragments = presenter.getFragments();
21
- // Should include the educational form fragments
22
- expect(fragments.length).toBeGreaterThan(0);
23
- // Check structure of fragments
24
- fragments.forEach((fragment) => {
25
- expect(fragment).toHaveProperty('id');
26
- expect(fragment).toHaveProperty('path');
27
- expect(typeof fragment.id).toBe('string');
28
- expect(typeof fragment.path).toBe('string');
29
- });
30
- // Expected educational form paths
31
- const expectedPathTerms = ['academic', 'summer', 'semester', 'course'];
32
- const foundPaths = fragments.map((f) => f.path);
33
- // Check if at least some paths contain expected terms
34
- const hasExpectedTerms = expectedPathTerms.some((term) => foundPaths.some((path) => path.includes(term)));
35
- expect(hasExpectedTerms).toBe(true);
36
- });
37
- it('Should format educational form paths correctly', () => {
38
- const presenter = EducationalFormPresenter.getInstance();
39
- const fragments = presenter.getFragments();
40
- // Check that paths are lowercase and use hyphens instead of underscores
41
- fragments.forEach((fragment) => {
42
- // Path should be lowercase
43
- expect(fragment.path).toBe(fragment.path.toLowerCase());
44
- // Path should not contain underscores
45
- expect(fragment.path.includes('_')).toBe(false);
46
- // If ID contains underscores, path should have hyphens instead
47
- if (fragment.id.includes('_')) {
48
- // Get expected path by replacing underscores with hyphens
49
- const expectedPath = fragment.id.toLowerCase().replace(/_/g, '-');
50
- expect(fragment.path).toBe(expectedPath);
51
- }
52
- });
53
- });
54
- it('Should return the same fragments on multiple calls', () => {
55
- const presenter = EducationalFormPresenter.getInstance();
56
- const fragments1 = presenter.getFragments();
57
- const fragments2 = presenter.getFragments();
58
- expect(fragments1).toBe(fragments2); // Should be the same instance
59
- });
60
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,43 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import { FormatPresenter } from '@/presenters/FormatPresenter';
3
- import { FilterKey } from '@studyportals/search-filters/server-side';
4
- describe('FormatPresenter', () => {
5
- beforeEach(() => {
6
- // Reset the singleton instance before each test
7
- FormatPresenter.instance = undefined;
8
- });
9
- it('Should be a singleton', () => {
10
- const instance1 = FormatPresenter.getInstance();
11
- const instance2 = FormatPresenter.getInstance();
12
- expect(instance1).toBe(instance2);
13
- });
14
- it('Should have the correct filter key', () => {
15
- const presenter = FormatPresenter.getInstance();
16
- expect(presenter.filterKey).toBe(FilterKey.ATTENDANCE);
17
- });
18
- it('Should return format fragments', () => {
19
- const presenter = FormatPresenter.getInstance();
20
- const fragments = presenter.getFragments();
21
- // Should include the part-time format fragment
22
- expect(fragments.length).toBeGreaterThan(0);
23
- // Check structure of fragments
24
- fragments.forEach((fragment) => {
25
- expect(fragment).toHaveProperty('id');
26
- expect(fragment).toHaveProperty('path');
27
- expect(typeof fragment.id).toBe('string');
28
- expect(typeof fragment.path).toBe('string');
29
- });
30
- // Should have the part-time fragment
31
- const partTimeFragment = fragments.find((f) => f.id === 'parttime');
32
- expect(partTimeFragment).toBeDefined();
33
- if (partTimeFragment) {
34
- expect(partTimeFragment.path).toBe('part-time');
35
- }
36
- });
37
- it('Should return the same fragments on multiple calls', () => {
38
- const presenter = FormatPresenter.getInstance();
39
- const fragments1 = presenter.getFragments();
40
- const fragments2 = presenter.getFragments();
41
- expect(fragments1).toBe(fragments2); // Should be the same instance
42
- });
43
- });
@@ -1,66 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import { SpecialProgrammesPresenter } from '@/presenters/SpecialProgrammesPresenter';
3
- import { FilterKey } from '@studyportals/search-filters/server-side';
4
- describe('SpecialProgrammesPresenter', () => {
5
- beforeEach(() => {
6
- // Reset the singleton instance before each test
7
- SpecialProgrammesPresenter.instance = undefined;
8
- });
9
- it('Should be a singleton', () => {
10
- const instance1 = SpecialProgrammesPresenter.getInstance();
11
- const instance2 = SpecialProgrammesPresenter.getInstance();
12
- expect(instance1).toBe(instance2);
13
- });
14
- it('Should have the correct filter key', () => {
15
- const presenter = SpecialProgrammesPresenter.getInstance();
16
- expect(presenter.filterKey).toBe(FilterKey.SPECIAL_PROGRAMMES);
17
- });
18
- it('Should return special programmes fragments', () => {
19
- const presenter = SpecialProgrammesPresenter.getInstance();
20
- const fragments = presenter.getFragments();
21
- // Should include special programme fragments
22
- expect(fragments.length).toBe(3);
23
- // Check structure of fragments
24
- fragments.forEach((fragment) => {
25
- expect(fragment).toHaveProperty('id');
26
- expect(fragment).toHaveProperty('path');
27
- expect(typeof fragment.id).toBe('string');
28
- expect(typeof fragment.path).toBe('string');
29
- });
30
- // Should have joint programmes fragment
31
- const jointProgrammeFragment = fragments.find((f) => f.id === 'joint');
32
- expect(jointProgrammeFragment).toBeDefined();
33
- if (jointProgrammeFragment) {
34
- expect(jointProgrammeFragment.path).toBe('joint-programmes');
35
- }
36
- // Should have erasmus mundus fragment
37
- const erasmusMundusFragment = fragments.find((f) => f.id === 'erasmus');
38
- expect(erasmusMundusFragment).toBeDefined();
39
- if (erasmusMundusFragment) {
40
- expect(erasmusMundusFragment.path).toBe('erasmus-mundus');
41
- }
42
- const executiveFragment = fragments.find((f) => f.id === 'executive');
43
- expect(executiveFragment).toBeDefined();
44
- if (executiveFragment) {
45
- expect(executiveFragment.path).toBe('executive-programmes');
46
- }
47
- });
48
- it('Should format paths correctly', () => {
49
- const presenter = SpecialProgrammesPresenter.getInstance();
50
- const fragments = presenter.getFragments();
51
- // Check path formatting for all fragments
52
- fragments.forEach((fragment) => {
53
- // IDs with underscores should have hyphens in the path
54
- if (fragment.id.includes('_')) {
55
- const expectedPath = fragment.id.replace(/_/g, '-');
56
- expect(fragment.path).toBe(expectedPath);
57
- }
58
- });
59
- });
60
- it('Should return the same fragments on multiple calls', () => {
61
- const presenter = SpecialProgrammesPresenter.getInstance();
62
- const fragments1 = presenter.getFragments();
63
- const fragments2 = presenter.getFragments();
64
- expect(fragments1).toBe(fragments2); // Should be the same instance
65
- });
66
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,52 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import { TuitionFeePresenter } from '@/presenters/TuitionFeePresenter';
3
- import { FilterKey } from '@studyportals/search-filters/server-side';
4
- describe('TuitionFeePresenter', () => {
5
- beforeEach(() => {
6
- // Reset the singleton instance before each test
7
- TuitionFeePresenter.instance = undefined;
8
- });
9
- it('Should be a singleton', () => {
10
- const instance1 = TuitionFeePresenter.getInstance();
11
- const instance2 = TuitionFeePresenter.getInstance();
12
- expect(instance1).toBe(instance2);
13
- });
14
- it('Should have the correct filter key', () => {
15
- const presenter = TuitionFeePresenter.getInstance();
16
- expect(presenter.filterKey).toBe(FilterKey.TUITION_FEE);
17
- });
18
- it('Should return tuition fee fragments', () => {
19
- const presenter = TuitionFeePresenter.getInstance();
20
- const fragments = presenter.getFragments();
21
- // Should include one tuition fee fragment
22
- expect(fragments.length).toBe(1);
23
- // Check structure of fragments
24
- fragments.forEach((fragment) => {
25
- expect(fragment).toHaveProperty('id');
26
- expect(fragment).toHaveProperty('path');
27
- expect(typeof fragment.id).toBe('string');
28
- expect(typeof fragment.path).toBe('string');
29
- });
30
- // Should have the affordable option
31
- const affordableFragment = fragments.find((f) => f.path === 'affordable');
32
- expect(affordableFragment).toBeDefined();
33
- if (affordableFragment) {
34
- expect(affordableFragment.id).toBe('[0,2500]');
35
- }
36
- });
37
- it('Should map tuition fee ranges to user-friendly paths', () => {
38
- const presenter = TuitionFeePresenter.getInstance();
39
- const fragments = presenter.getFragments();
40
- // The zero to 2500 range should map to "affordable"
41
- const affordableFragment = fragments[0];
42
- expect(affordableFragment.path).toBe('affordable');
43
- // The ID should be the range
44
- expect(affordableFragment.id).toBe('[0,2500]');
45
- });
46
- it('Should return the same fragments on multiple calls', () => {
47
- const presenter = TuitionFeePresenter.getInstance();
48
- const fragments1 = presenter.getFragments();
49
- const fragments2 = presenter.getFragments();
50
- expect(fragments1).toBe(fragments2); // Should be the same instance
51
- });
52
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,153 +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 { Area } from '@/programmes/policies/Area';
6
- import { PortalType } from '@studyportals/domain-client';
7
- import { AreaPresenter } from '@/presenters/AreaPresenter';
8
- describe('Policy:Area', () => {
9
- describe('shouldIndex', () => {
10
- let searchDependenciesHelper;
11
- let areaPolicy;
12
- beforeEach(() => {
13
- searchDependenciesHelper = new SearchDependencies();
14
- areaPolicy = new Area(searchDependenciesHelper.dependencies);
15
- searchDependenciesHelper.setResultsCount(10);
16
- searchDependenciesHelper.setPageNumber(1);
17
- searchDependenciesHelper.setPortalType(PortalType.MASTER);
18
- });
19
- it('Should return true when all conditions are met', async () => {
20
- const countryId = '30'; // UK
21
- const areaId = '996'; // England
22
- searchDependenciesHelper.setFilterKeyValues(new Map([
23
- [FilterKey.COUNTRY, [countryId]],
24
- [FilterKey.AREA, [areaId]]
25
- ]));
26
- const result = await areaPolicy.shouldIndex();
27
- expect(result).toBe(true);
28
- });
29
- it('Should return false when multiple areas are selected', async () => {
30
- const countryId = '30'; // UK
31
- const firstAreaId = '994'; // Scotland
32
- const secondAreaId = '996'; // England
33
- searchDependenciesHelper.setFilterKeyValues(new Map([
34
- [FilterKey.COUNTRY, [countryId]],
35
- [FilterKey.AREA, [firstAreaId, secondAreaId]]
36
- ]));
37
- const result = await areaPolicy.shouldIndex();
38
- expect(result).toBe(false);
39
- });
40
- it('Should return false when no areas are selected', async () => {
41
- const countryId = '30'; // UK
42
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.COUNTRY, [countryId]]]));
43
- const result = await areaPolicy.shouldIndex();
44
- expect(result).toBe(false);
45
- });
46
- it('Should return false when other filters are selected', async () => {
47
- const countryId = '202'; // Australia
48
- const areaId = '137'; // Western Australia
49
- const disciplineId = '54'; // Agriculture & Forestry
50
- searchDependenciesHelper.setFilterKeyValues(new Map([
51
- [FilterKey.COUNTRY, [countryId]],
52
- [FilterKey.AREA, [areaId]],
53
- [FilterKey.DISCIPLINES, [disciplineId]]
54
- ]));
55
- const result = await areaPolicy.shouldIndex();
56
- expect(result).toBe(false);
57
- });
58
- it('Should return false when number of results is less than 7', async () => {
59
- const countryId = '202'; // Australia
60
- const areaId = '137'; // Western Australia
61
- searchDependenciesHelper.setResultsCount(6);
62
- searchDependenciesHelper.setFilterKeyValues(new Map([
63
- [FilterKey.COUNTRY, [countryId]],
64
- [FilterKey.AREA, [areaId]]
65
- ]));
66
- const result = await areaPolicy.shouldIndex();
67
- expect(result).toBe(false);
68
- });
69
- it('Should return false when page number is higher than 2', async () => {
70
- const countryId = '30'; // UK
71
- const areaId = '996'; // England
72
- searchDependenciesHelper.setPageNumber(3);
73
- searchDependenciesHelper.setFilterKeyValues(new Map([
74
- [FilterKey.COUNTRY, [countryId]],
75
- [FilterKey.AREA, [areaId]]
76
- ]));
77
- const result = await areaPolicy.shouldIndex();
78
- expect(result).toBe(false);
79
- });
80
- it('Should return false when portal is distance learning', async () => {
81
- const countryId = '30'; // UK
82
- const areaId = '996'; // England
83
- searchDependenciesHelper.setPortalType(PortalType.DISTANCE_LEARNING);
84
- searchDependenciesHelper.setFilterKeyValues(new Map([
85
- [FilterKey.COUNTRY, [countryId]],
86
- [FilterKey.AREA, [areaId]]
87
- ]));
88
- const result = await areaPolicy.shouldIndex();
89
- expect(result).toBe(false);
90
- });
91
- });
92
- describe('generateUrls', () => {
93
- let sitemapDependenciesHelper;
94
- let areaPolicy;
95
- beforeEach(() => {
96
- sitemapDependenciesHelper = new SitemapDependencies();
97
- sitemapDependenciesHelper.setProgrammeCount(10);
98
- areaPolicy = new Area(sitemapDependenciesHelper.dependencies);
99
- AreaPresenter.getInstance = vi.fn().mockReturnValue({
100
- getFragments: vi.fn().mockReturnValue([
101
- { id: '137', path: 'australia/western-australia', countryId: '202' },
102
- { id: '138', path: 'australia/south-australia', countryId: '202' },
103
- { id: '139', path: 'australia/northern-territory', countryId: '202' }
104
- ])
105
- });
106
- });
107
- afterEach(() => {
108
- sitemapDependenciesHelper.resetMocks();
109
- });
110
- it('Should generate URLs for all valid areas', async () => {
111
- sitemapDependenciesHelper.mockCheckRulesForSitemap();
112
- // Call the method via reflection since it's protected
113
- const urls = await areaPolicy.generateUrls();
114
- // Verify all area fragments were included
115
- expect(urls).toHaveLength(3);
116
- expect(urls).toContain('australia/western-australia');
117
- expect(urls).toContain('australia/south-australia');
118
- expect(urls).toContain('australia/northern-territory');
119
- });
120
- it('Should exclude URLs that fail rule checks', async () => {
121
- // Create a map that returns false for Western Australia
122
- const resultMap = new Map([[`${FilterKey.AREA}:137|${FilterKey.COUNTRY}:202`, false]]);
123
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
124
- const urls = await areaPolicy.generateUrls();
125
- // Should only include England and Scotland, not Western Australia
126
- expect(urls).toHaveLength(2);
127
- expect(urls).toContain('australia/south-australia');
128
- expect(urls).toContain('australia/northern-territory');
129
- expect(urls).not.toContain('australia/western-australia');
130
- });
131
- it('Should exclude all URLs when all checks fail', async () => {
132
- // Create a map that returns false for all areas
133
- const resultMap = new Map([
134
- [`${FilterKey.AREA}:137|${FilterKey.COUNTRY}:202`, false],
135
- [`${FilterKey.AREA}:138|${FilterKey.COUNTRY}:202`, false],
136
- [`${FilterKey.AREA}:139|${FilterKey.COUNTRY}:202`, false]
137
- ]);
138
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
139
- const urls = await areaPolicy.generateUrls();
140
- // Should include no URLs
141
- expect(urls).toHaveLength(0);
142
- });
143
- it('Should handle empty fragments array', async () => {
144
- AreaPresenter.getInstance = vi.fn().mockReturnValue({
145
- getFragments: vi.fn().mockReturnValue([])
146
- });
147
- sitemapDependenciesHelper.mockCheckRulesForSitemap();
148
- const urls = await areaPolicy.generateUrls();
149
- // Should return empty array
150
- expect(urls).toHaveLength(0);
151
- });
152
- });
153
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,173 +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 { Attendance } from '@/programmes/policies/Attendance';
6
- import { PortalType } from '@studyportals/domain-client';
7
- import { AttendancePresenter } from '@/presenters/AttendancePresenter';
8
- describe('Policy:Attendance', () => {
9
- describe('shouldIndex', () => {
10
- let searchDependenciesHelper;
11
- let attendancePolicy;
12
- beforeEach(() => {
13
- searchDependenciesHelper = new SearchDependencies();
14
- attendancePolicy = new Attendance(searchDependenciesHelper.dependencies);
15
- searchDependenciesHelper.setResultsCount(10);
16
- searchDependenciesHelper.setPageNumber(1);
17
- searchDependenciesHelper.setPortalType(PortalType.BACHELOR);
18
- });
19
- it('Should return true when all conditions are met', async () => {
20
- const attendance = 'online';
21
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DELIVERY_METHOD, [attendance]]]));
22
- const result = await attendancePolicy.shouldIndex();
23
- expect(result).toBe(true);
24
- });
25
- it('Should return false when multiple attendance values are selected', async () => {
26
- const firstAttendance = 'online';
27
- const secondAttendance = 'blended';
28
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DELIVERY_METHOD, [firstAttendance, secondAttendance]]]));
29
- const result = await attendancePolicy.shouldIndex();
30
- expect(result).toBe(false);
31
- });
32
- it('Should return false when no attendance values are selected', async () => {
33
- searchDependenciesHelper.setFilterKeyValues(new Map([]));
34
- const result = await attendancePolicy.shouldIndex();
35
- expect(result).toBe(false);
36
- });
37
- it('Should return false when other filters are selected', async () => {
38
- const attendance = 'online';
39
- const countryId = '202'; // Australia
40
- searchDependenciesHelper.setFilterKeyValues(new Map([
41
- [FilterKey.DELIVERY_METHOD, [attendance]],
42
- [FilterKey.COUNTRY, [countryId]]
43
- ]));
44
- const result = await attendancePolicy.shouldIndex();
45
- expect(result).toBe(false);
46
- });
47
- it('Should return false when attendance is not online', async () => {
48
- const attendance = 'blended';
49
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DELIVERY_METHOD, [attendance]]]));
50
- const result = await attendancePolicy.shouldIndex();
51
- expect(result).toBe(false);
52
- });
53
- it('Should return false when number of results is less than 7', async () => {
54
- const attendance = 'online';
55
- searchDependenciesHelper.setResultsCount(6);
56
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DELIVERY_METHOD, [attendance]]]));
57
- const result = await attendancePolicy.shouldIndex();
58
- expect(result).toBe(false);
59
- });
60
- it('Should return false when page number is higher than 2', async () => {
61
- const attendance = 'online';
62
- searchDependenciesHelper.setPageNumber(3);
63
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DELIVERY_METHOD, [attendance]]]));
64
- const result = await attendancePolicy.shouldIndex();
65
- expect(result).toBe(false);
66
- });
67
- it('Should return false when portal is distance learning', async () => {
68
- const attendance = 'online';
69
- searchDependenciesHelper.setPortalType(PortalType.DISTANCE_LEARNING);
70
- searchDependenciesHelper.setFilterKeyValues(new Map([[FilterKey.DELIVERY_METHOD, [attendance]]]));
71
- const result = await attendancePolicy.shouldIndex();
72
- expect(result).toBe(false);
73
- });
74
- });
75
- describe('generateUrls', () => {
76
- let sitemapDependenciesHelper;
77
- let attendancePolicy;
78
- beforeEach(() => {
79
- sitemapDependenciesHelper = new SitemapDependencies();
80
- sitemapDependenciesHelper.setProgrammeCount(10); // More than 7 programs
81
- attendancePolicy = new Attendance(sitemapDependenciesHelper.dependencies);
82
- AttendancePresenter.getInstance = vi.fn().mockReturnValue({
83
- getFragments: vi.fn().mockReturnValue([
84
- { id: 'online', path: 'online-programmes' },
85
- { id: 'face2face', path: 'on-campus-programmes' },
86
- { id: 'blended', path: 'blended-programmes' }
87
- ])
88
- });
89
- });
90
- afterEach(() => {
91
- sitemapDependenciesHelper.resetMocks();
92
- });
93
- it('Should generate URLs for online attendance only', async () => {
94
- // Mock the checkRulesForSitemap to return true only for online attendance due to OnlineAttendanceRule
95
- const resultMap = new Map([
96
- [`${FilterKey.DELIVERY_METHOD}:online`, true],
97
- [`${FilterKey.DELIVERY_METHOD}:face2face`, false],
98
- [`${FilterKey.DELIVERY_METHOD}:blended`, false]
99
- ]);
100
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
101
- // Call the method via reflection since it's protected
102
- const urls = await attendancePolicy.generateUrls();
103
- // Verify only online attendance was included
104
- expect(urls).toHaveLength(1);
105
- expect(urls).toContain('online-programmes');
106
- expect(urls).not.toContain('on-campus-programmes');
107
- expect(urls).not.toContain('blended-programmes');
108
- });
109
- it('Should exclude all URLs when all checks fail', async () => {
110
- // Create a map that returns false for all attendance types
111
- const resultMap = new Map([
112
- [`${FilterKey.DELIVERY_METHOD}:online`, false],
113
- [`${FilterKey.DELIVERY_METHOD}:face2face`, false],
114
- [`${FilterKey.DELIVERY_METHOD}:blended`, false]
115
- ]);
116
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
117
- const urls = await attendancePolicy.generateUrls();
118
- // Should include no URLs
119
- expect(urls).toHaveLength(0);
120
- });
121
- it('Should handle empty fragments array', async () => {
122
- // Mock the AttendancePresenter to return empty fragments
123
- AttendancePresenter.getInstance.mockReturnValueOnce({
124
- getFragments: vi.fn().mockReturnValue([])
125
- });
126
- sitemapDependenciesHelper.mockCheckRulesForSitemap();
127
- const urls = await attendancePolicy.generateUrls();
128
- // Should return empty array
129
- expect(urls).toHaveLength(0);
130
- });
131
- it('Should handle multiple attendance types if rule allows', async () => {
132
- // This is a hypothetical scenario where the rule might allow multiple attendance types
133
- // (in production, OnlineAttendanceRule would only allow online)
134
- const resultMap = new Map([
135
- [`${FilterKey.DELIVERY_METHOD}:online`, true],
136
- [`${FilterKey.DELIVERY_METHOD}:face2face`, true],
137
- [`${FilterKey.DELIVERY_METHOD}:blended`, false]
138
- ]);
139
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
140
- const urls = await attendancePolicy.generateUrls();
141
- // Should include online and on-campus
142
- expect(urls).toHaveLength(2);
143
- expect(urls).toContain('online-programmes');
144
- expect(urls).toContain('on-campus-programmes');
145
- expect(urls).not.toContain('blended-programmes');
146
- });
147
- it('Should handle performance with a larger set of attendance types', async () => {
148
- // Generate more attendance types for testing
149
- const largeAttendanceSet = Array.from({ length: 10 }, (_, index) => ({
150
- id: `attendance-${index}`,
151
- path: `attendance-type-${index}`
152
- }));
153
- // Mock the AttendancePresenter to return large set
154
- AttendancePresenter.getInstance.mockReturnValueOnce({
155
- getFragments: vi.fn().mockReturnValue(largeAttendanceSet)
156
- });
157
- // Mock to only allow attendance types with even indices
158
- const resultMap = new Map();
159
- for (let i = 0; i < largeAttendanceSet.length; i++) {
160
- const attendanceId = largeAttendanceSet[i].id;
161
- resultMap.set(`${FilterKey.DELIVERY_METHOD}:${attendanceId}`, i % 2 === 0);
162
- }
163
- sitemapDependenciesHelper.mockCheckRulesForSitemap(resultMap);
164
- const urls = await attendancePolicy.generateUrls();
165
- // Should include half of the attendance types (those with even indices)
166
- expect(urls).toHaveLength(5);
167
- // Check specific items
168
- expect(urls).toContain('attendance-type-0'); // Even index
169
- expect(urls).not.toContain('attendance-type-1'); // Odd index
170
- expect(urls).toContain('attendance-type-2'); // Even index
171
- });
172
- });
173
- });