@comicrelief/component-library 7.24.0 → 7.24.2

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 (278) hide show
  1. package/.github/workflows/main.yml +22 -24
  2. package/dist/components/Atoms/Button/Button.js +21 -15
  3. package/dist/components/Atoms/Button/Button.test.js +3 -3
  4. package/dist/components/Atoms/ButtonWithStates/ButtonWithStates.js +19 -22
  5. package/dist/components/Atoms/Checkbox/Checkbox.js +42 -26
  6. package/dist/components/Atoms/Checkbox/Checkbox.test.js +3 -3
  7. package/dist/components/Atoms/Confetti/Confetti.js +20 -23
  8. package/dist/components/Atoms/Confetti/_TriggerConfetti.js +4 -11
  9. package/dist/components/Atoms/ErrorText/ErrorText.js +15 -11
  10. package/dist/components/Atoms/ErrorText/ErrorText.test.js +3 -3
  11. package/dist/components/Atoms/Icons/Arrow.js +16 -15
  12. package/dist/components/Atoms/Icons/AtSign.js +9 -9
  13. package/dist/components/Atoms/Icons/Chevron.js +16 -15
  14. package/dist/components/Atoms/Icons/Curve.js +16 -18
  15. package/dist/components/Atoms/Icons/Download.js +8 -8
  16. package/dist/components/Atoms/Icons/External.js +8 -8
  17. package/dist/components/Atoms/Icons/Favourite.js +8 -8
  18. package/dist/components/Atoms/Icons/Internal.js +8 -8
  19. package/dist/components/Atoms/Icons/index.js +8 -8
  20. package/dist/components/Atoms/Input/Input.js +38 -33
  21. package/dist/components/Atoms/Input/input.test.js +3 -3
  22. package/dist/components/Atoms/Label/Label.js +28 -23
  23. package/dist/components/Atoms/Link/Link.js +24 -29
  24. package/dist/components/Atoms/Link/Link.style.js +51 -40
  25. package/dist/components/Atoms/Link/Link.test.js +9 -9
  26. package/dist/components/Atoms/Logo/Logo.js +16 -18
  27. package/dist/components/Atoms/Logo/Logo.test.js +3 -3
  28. package/dist/components/Atoms/Pagination/Item/Item.js +7 -7
  29. package/dist/components/Atoms/Pagination/Item/Item.style.js +35 -28
  30. package/dist/components/Atoms/Pagination/List/List.js +21 -19
  31. package/dist/components/Atoms/Pagination/Pagination.js +41 -49
  32. package/dist/components/Atoms/Pagination/Pagination.test.js +54 -108
  33. package/dist/components/Atoms/Pagination/Utils/PaginationCalculator.js +15 -15
  34. package/dist/components/Atoms/Picture/Picture.js +34 -44
  35. package/dist/components/Atoms/Picture/Picture.test.js +5 -5
  36. package/dist/components/Atoms/RadioButton/RadioButton.js +35 -23
  37. package/dist/components/Atoms/RadioButton/RadioButton.test.js +3 -3
  38. package/dist/components/Atoms/RichText/RichText.js +9 -11
  39. package/dist/components/Atoms/RichText/RichText.test.js +4 -4
  40. package/dist/components/Atoms/Select/Select.js +56 -49
  41. package/dist/components/Atoms/Select/Select.test.js +3 -3
  42. package/dist/components/Atoms/SocialIcons/Icon/Icon.js +13 -13
  43. package/dist/components/Atoms/SocialIcons/SocialIcons.js +25 -23
  44. package/dist/components/Atoms/SocialIcons/SocialIcons.test.js +7 -7
  45. package/dist/components/Atoms/SocialIcons/Utils/Icons.js +3 -3
  46. package/dist/components/Atoms/SocialIcons/Utils/Links.js +19 -20
  47. package/dist/components/Atoms/SocialIcons/assets/X-white-Subtract.svg +3 -0
  48. package/dist/components/Atoms/Text/Text.js +62 -41
  49. package/dist/components/Atoms/Text/Text.test.js +11 -11
  50. package/dist/components/Atoms/TextArea/TextArea.js +18 -17
  51. package/dist/components/Atoms/TextArea/TextArea.test.js +3 -3
  52. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.js +69 -86
  53. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.style.js +23 -15
  54. package/dist/components/Atoms/TextInputWithDropdown/TextInputWithDropdown.test.js +15 -19
  55. package/dist/components/Molecules/Accordion/Accordion.js +35 -32
  56. package/dist/components/Molecules/Accordion/Accordion.test.js +3 -3
  57. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.js +81 -52
  58. package/dist/components/Molecules/ArticleTeaser/ArticleTeaser.test.js +5 -5
  59. package/dist/components/Molecules/Banner/Banner.js +21 -13
  60. package/dist/components/Molecules/Banner/Banner.test.js +3 -3
  61. package/dist/components/Molecules/Box/Box.js +33 -27
  62. package/dist/components/Molecules/Box/Box.test.js +5 -5
  63. package/dist/components/Molecules/Card/Card.js +22 -22
  64. package/dist/components/Molecules/Card/Card.test.js +5 -5
  65. package/dist/components/Molecules/CardDs/CardDs.js +80 -55
  66. package/dist/components/Molecules/CardDs/CardDs.test.js +3 -3
  67. package/dist/components/Molecules/Chip/Chip.js +8 -6
  68. package/dist/components/Molecules/Chip/Chip.style.js +48 -28
  69. package/dist/components/Molecules/Chip/Chip.test.js +4 -6
  70. package/dist/components/Molecules/Countdown/Countdown.js +28 -36
  71. package/dist/components/Molecules/Countdown/Countdown.style.js +3 -3
  72. package/dist/components/Molecules/Descriptor/Descriptor.js +32 -26
  73. package/dist/components/Molecules/Descriptor/Descriptor.test.js +5 -5
  74. package/dist/components/Molecules/DoubleCopy/DoubleCopy.js +6 -4
  75. package/dist/components/Molecules/DoubleCopy/DoubleCopy.style.js +7 -5
  76. package/dist/components/Molecules/DoubleCopy/DoubleCopy.test.js +4 -4
  77. package/dist/components/Molecules/HeroBanner/HeroBanner.js +13 -17
  78. package/dist/components/Molecules/InfoBanner/InfoBanner.js +22 -18
  79. package/dist/components/Molecules/InfoBanner/InfoBanner.test.js +10 -10
  80. package/dist/components/Molecules/Logos/Logos.js +26 -14
  81. package/dist/components/Molecules/Logos/Logos.md +5 -0
  82. package/dist/components/Molecules/Lookup/Lookup.js +49 -84
  83. package/dist/components/Molecules/PartnerLink/PartnerLink.js +10 -11
  84. package/dist/components/Molecules/PartnerLink/PartnerLink.style.js +15 -9
  85. package/dist/components/Molecules/PartnerLink/PartnerLink.test.js +3 -3
  86. package/dist/components/Molecules/Promo/Promo.js +30 -36
  87. package/dist/components/Molecules/Promo/Promo.style.js +44 -31
  88. package/dist/components/Molecules/Promo/Promo.test.js +6 -6
  89. package/dist/components/Molecules/Promo/_ProgressRing.js +13 -19
  90. package/dist/components/Molecules/Promo/_PromoVideo.js +25 -34
  91. package/dist/components/Molecules/Promo/_PromoVideoButton.js +7 -7
  92. package/dist/components/Molecules/Promo/_PromoVideoButton.style.js +68 -41
  93. package/dist/components/Molecules/SchoolLookup/SchoolLookup.js +29 -52
  94. package/dist/components/Molecules/SchoolLookup/SchoolLookup.test.js +4 -4
  95. package/dist/components/Molecules/SearchInput/SearchInput.js +8 -8
  96. package/dist/components/Molecules/SearchInput/SearchInput.style.js +22 -14
  97. package/dist/components/Molecules/SearchInput/SearchInput.test.js +4 -4
  98. package/dist/components/Molecules/SearchResult/SearchResult.js +43 -29
  99. package/dist/components/Molecules/SearchResult/SearchResult.test.js +9 -9
  100. package/dist/components/Molecules/ShareButton/ShareButton.js +22 -26
  101. package/dist/components/Molecules/ShareButton/ShareButton.style.js +5 -5
  102. package/dist/components/Molecules/ShareButton/ShareButton.test.js +3 -3
  103. package/dist/components/Molecules/ShareButton/assets/ShareIcons.js +2 -2
  104. package/dist/components/Molecules/SimpleSchoolLookup/SimpleSchoolLookup.js +28 -55
  105. package/dist/components/Molecules/SingleMessage/SingleMessage.js +99 -123
  106. package/dist/components/Molecules/SingleMessage/SingleMessage.style.js +132 -81
  107. package/dist/components/Molecules/SingleMessage/SingleMessage.test.js +13 -13
  108. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.js +31 -40
  109. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.style.js +85 -49
  110. package/dist/components/Molecules/SingleMessageDS/SingleMessageDs.test.js +3 -3
  111. package/dist/components/Molecules/Typeahead/Typeahead.js +47 -84
  112. package/dist/components/Molecules/Typeahead/Typeahead.test.js +12 -35
  113. package/dist/components/Molecules/VideoBanner/VideoBanner.js +20 -25
  114. package/dist/components/Molecules/VideoBanner/VideoBanner.test.js +4 -4
  115. package/dist/components/Organisms/CookieBanner/CookieBanner.js +7 -5
  116. package/dist/components/Organisms/CookieBanner/CookieBanner.style.js +21 -13
  117. package/dist/components/Organisms/CookieBanner/CookieBanner.test.js +5 -5
  118. package/dist/components/Organisms/Donate/Donate.js +34 -37
  119. package/dist/components/Organisms/Donate/Donate.style.js +85 -53
  120. package/dist/components/Organisms/Donate/Donate.test.js +10 -10
  121. package/dist/components/Organisms/Donate/Form/Form.js +53 -78
  122. package/dist/components/Organisms/Donate/Form/PopUpComponent.js +25 -30
  123. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.js +11 -13
  124. package/dist/components/Organisms/Donate/GivingSelector/GivingSelector.style.js +38 -22
  125. package/dist/components/Organisms/Donate/MoneyBuy/MoneyBuy.js +47 -30
  126. package/dist/components/Organisms/EmailSignUp/EmailSignUp.style.js +63 -37
  127. package/dist/components/Organisms/EmailSignUp/EmailSignUp.test.js +12 -12
  128. package/dist/components/Organisms/EmailSignUp/EmailSignUpForm.js +23 -43
  129. package/dist/components/Organisms/EmailSignUp/_EmailSignUp.js +25 -21
  130. package/dist/components/Organisms/EmailSignUp/_EmailSignUpConfig.js +10 -9
  131. package/dist/components/Organisms/EmailSignUp/_TextInput.js +20 -18
  132. package/dist/components/Organisms/Footer/Footer.js +10 -10
  133. package/dist/components/Organisms/Footer/Footer.style.js +27 -21
  134. package/dist/components/Organisms/Footer/Footer.test.js +3 -3
  135. package/dist/components/Organisms/Footer/Nav/Nav.js +59 -70
  136. package/dist/components/Organisms/Footer/Nav/Nav.style.js +77 -43
  137. package/dist/components/Organisms/Header/Burger/BurgerMenu.js +6 -4
  138. package/dist/components/Organisms/Header/Burger/BurgerMenu.style.js +37 -21
  139. package/dist/components/Organisms/Header/Header.js +8 -8
  140. package/dist/components/Organisms/Header/Header.style.js +27 -19
  141. package/dist/components/Organisms/Header/Nav/Nav.js +39 -50
  142. package/dist/components/Organisms/Header/Nav/Nav.style.js +103 -57
  143. package/dist/components/Organisms/Header/header.test.js +1 -1
  144. package/dist/components/Organisms/ImpactSlider/ImpactMoneybuys.style.js +32 -29
  145. package/dist/components/Organisms/ImpactSlider/ImpactSlider.js +19 -22
  146. package/dist/components/Organisms/ImpactSlider/ImpactSlider.style.js +38 -24
  147. package/dist/components/Organisms/ImpactSlider/Slider.style.js +8 -14
  148. package/dist/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +11 -11
  149. package/dist/components/Organisms/ImpactSlider/_Slider.js +9 -7
  150. package/dist/components/Organisms/ImpactSlider/_utils.js +11 -11
  151. package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDS.style.js +61 -38
  152. package/dist/components/Organisms/MarketingPreferencesDS/MarketingPreferencesDSForm.js +24 -16
  153. package/dist/components/Organisms/MarketingPreferencesDS/_AssociatedFields.js +1 -1
  154. package/dist/components/Organisms/MarketingPreferencesDS/_CheckAnswer.js +20 -16
  155. package/dist/components/Organisms/MarketingPreferencesDS/_DefaultCopy.js +3 -3
  156. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPreferencesDS.js +46 -36
  157. package/dist/components/Organisms/MarketingPreferencesDS/_MarketingPrefsConfig.js +21 -34
  158. package/dist/components/Organisms/MarketingPreferencesDS/_TextInput.js +20 -18
  159. package/dist/components/Organisms/Membership/Form/Form.js +48 -81
  160. package/dist/components/Organisms/Membership/Membership.js +17 -15
  161. package/dist/components/Organisms/Membership/Membership.style.js +81 -51
  162. package/dist/components/Organisms/Membership/Membership.test.js +4 -4
  163. package/dist/components/Organisms/Membership/MoneyBox/MoneyBox.js +37 -26
  164. package/dist/hoc/shallowWithTheme.js +1 -1
  165. package/dist/index.js +67 -67
  166. package/dist/styleguide/CRLogo.js +2 -2
  167. package/dist/styleguide/StyleGuideRenderer.js +9 -7
  168. package/dist/styleguide/ThemeWrapper.js +5 -3
  169. package/dist/styleguide/data/data.js +3 -3
  170. package/dist/theme/crTheme/buttonColors.js +6 -5
  171. package/dist/theme/crTheme/colors.js +4 -3
  172. package/dist/theme/crTheme/fontSizes.js +4 -3
  173. package/dist/theme/crTheme/linkStyles.js +6 -5
  174. package/dist/theme/crTheme/theme.js +1 -1
  175. package/dist/theme/shared/breakpoint.js +4 -3
  176. package/dist/theme/shared/fontFamilies.js +5 -4
  177. package/dist/theme/shared/hideVisually.js +1 -1
  178. package/dist/theme/shared/size.js +4 -3
  179. package/dist/theme/shared/spacing.js +2 -2
  180. package/dist/theme/shared/zIndex.js +3 -3
  181. package/dist/theme/srTheme/buttonColors.js +6 -5
  182. package/dist/theme/srTheme/colors.js +4 -3
  183. package/dist/theme/srTheme/fontSizes.js +4 -3
  184. package/dist/theme/srTheme/linkStyles.js +6 -5
  185. package/dist/theme/srTheme/theme.js +1 -1
  186. package/dist/utils/Membership.js +30 -27
  187. package/dist/utils/ShareButton/sharePopUpHelper.js +8 -8
  188. package/dist/utils/ShareButton/shareTracking.js +1 -1
  189. package/dist/utils/ShareButton/shareUrlHelper.js +3 -3
  190. package/dist/utils/allowListed.js +3 -5
  191. package/dist/utils/allowListed.test.js +3 -3
  192. package/dist/utils/internalLinkHelper.js +8 -10
  193. package/dist/utils/navHelper.js +2 -2
  194. package/package.json +12 -9
  195. package/playwright/components/atoms/checkbox.spec.js +64 -0
  196. package/playwright/components/atoms/input.spec.js +158 -0
  197. package/playwright/components/atoms/label.spec.js +29 -0
  198. package/playwright/components/atoms/link.spec.js +48 -0
  199. package/playwright/components/atoms/radioButton.spec.js +30 -0
  200. package/playwright/components/atoms/select.spec.js +36 -0
  201. package/playwright/components/atoms/textArea.spec.js +39 -0
  202. package/playwright/components/atoms/textInputWithDropdown.spec.js +23 -0
  203. package/playwright/components/molecules/accordian.spec.js +20 -0
  204. package/playwright/components/molecules/schoolLookup.spec.js +26 -0
  205. package/playwright/components/molecules/searchInput.spec.js +24 -0
  206. package/playwright/components/molecules/shareButton.spec.js +32 -0
  207. package/playwright/components/molecules/simpleSchoolLookUp.spec.js +35 -0
  208. package/playwright/components/molecules/typeahead.spec.js +27 -0
  209. package/playwright/components/organisms/donate.spec.js +293 -0
  210. package/playwright/components/organisms/emailSignUpForm.spec.js +109 -0
  211. package/playwright/components/organisms/footer.spec.js +67 -0
  212. package/playwright/components/organisms/header.spec.js +82 -0
  213. package/playwright/components/organisms/impactSlider.spec.js +292 -0
  214. package/playwright/components/organisms/marketingPreferences.spec.js +220 -0
  215. package/playwright/components/organisms/membership.spec.js +47 -0
  216. package/playwright.config.js +49 -0
  217. package/src/components/Atoms/SocialIcons/Utils/Icons.js +1 -1
  218. package/src/components/Atoms/SocialIcons/assets/X-white-Subtract.svg +3 -0
  219. package/src/components/Molecules/Logos/Logos.js +18 -6
  220. package/src/components/Molecules/Logos/Logos.md +5 -0
  221. package/src/components/Organisms/ImpactSlider/_ImpactMoneybuys.js +3 -4
  222. package/src/components/Organisms/Membership/Membership.test.js +1 -1
  223. package/cypress/e2e/components/atoms/button.cy.js +0 -102
  224. package/cypress/e2e/components/atoms/buttonWithStates.cy.js +0 -47
  225. package/cypress/e2e/components/atoms/checkbox.cy.js +0 -70
  226. package/cypress/e2e/components/atoms/confetti.cy.js +0 -46
  227. package/cypress/e2e/components/atoms/errorText.cy.js +0 -45
  228. package/cypress/e2e/components/atoms/input.cy.js +0 -157
  229. package/cypress/e2e/components/atoms/label.cy.js +0 -93
  230. package/cypress/e2e/components/atoms/link.cy.js +0 -190
  231. package/cypress/e2e/components/atoms/logo.cy.js +0 -132
  232. package/cypress/e2e/components/atoms/pagination.cy.js +0 -191
  233. package/cypress/e2e/components/atoms/picture.cy.js +0 -130
  234. package/cypress/e2e/components/atoms/radioButton.cy.js +0 -76
  235. package/cypress/e2e/components/atoms/richText.cy.js +0 -70
  236. package/cypress/e2e/components/atoms/select.cy.js +0 -84
  237. package/cypress/e2e/components/atoms/socialIcons.cy.js +0 -162
  238. package/cypress/e2e/components/atoms/text.cy.js +0 -169
  239. package/cypress/e2e/components/atoms/textArea.cy.js +0 -89
  240. package/cypress/e2e/components/atoms/textInputWithDrop.cy.js +0 -76
  241. package/cypress/e2e/components/molecules/accordion.cy.js +0 -67
  242. package/cypress/e2e/components/molecules/articleTeaser.cy.js +0 -105
  243. package/cypress/e2e/components/molecules/banner.cy.js +0 -67
  244. package/cypress/e2e/components/molecules/box.cy.js +0 -104
  245. package/cypress/e2e/components/molecules/card.cy.js +0 -105
  246. package/cypress/e2e/components/molecules/cardDs.cy.js +0 -198
  247. package/cypress/e2e/components/molecules/chip.cy.js +0 -68
  248. package/cypress/e2e/components/molecules/countdown.cy.js +0 -71
  249. package/cypress/e2e/components/molecules/descriptor.cy.js +0 -142
  250. package/cypress/e2e/components/molecules/doubleCopy.cy.js +0 -79
  251. package/cypress/e2e/components/molecules/heroBanner.cy.js +0 -69
  252. package/cypress/e2e/components/molecules/infoBanner.cy.js +0 -69
  253. package/cypress/e2e/components/molecules/partnerLink.cy.js +0 -68
  254. package/cypress/e2e/components/molecules/promo.cy.js +0 -74
  255. package/cypress/e2e/components/molecules/schoolLookup.cy.js +0 -83
  256. package/cypress/e2e/components/molecules/searchInput.cy.js +0 -72
  257. package/cypress/e2e/components/molecules/searchResult.cy.js +0 -191
  258. package/cypress/e2e/components/molecules/shareButton.cy.js +0 -76
  259. package/cypress/e2e/components/molecules/simpleSchoolLookup.cy.js +0 -83
  260. package/cypress/e2e/components/molecules/singleMessage.cy.js +0 -502
  261. package/cypress/e2e/components/molecules/singleMessageDs.cy.js +0 -234
  262. package/cypress/e2e/components/molecules/typeahead.cy.js +0 -97
  263. package/cypress/e2e/components/molecules/videoBanner.cy.js +0 -132
  264. package/cypress/e2e/components/organisms/cookieBanner.cy.js +0 -80
  265. package/cypress/e2e/components/organisms/donate.cy.js +0 -284
  266. package/cypress/e2e/components/organisms/emailSignUp.cy.js +0 -54
  267. package/cypress/e2e/components/organisms/footer.cy.js +0 -168
  268. package/cypress/e2e/components/organisms/header.cy.js +0 -138
  269. package/cypress/e2e/components/organisms/impactSlider.cy.js +0 -72
  270. package/cypress/e2e/components/organisms/marketingPreferencesDSForm.cy.js +0 -589
  271. package/cypress/e2e/components/organisms/membership.cy.js +0 -122
  272. package/cypress/fixtures/example.json +0 -5
  273. package/cypress/plugins/index.js +0 -21
  274. package/cypress/support/commands.js +0 -25
  275. package/cypress/support/e2e.js +0 -36
  276. package/cypress.config.js +0 -15
  277. package/dist/components/Atoms/SocialIcons/assets/x-logo.svg +0 -3
  278. package/src/components/Atoms/SocialIcons/assets/x-logo.svg +0 -3
@@ -1,72 +0,0 @@
1
- /* eslint-disable no-undef */
2
- describe('Impact Slider component', () => {
3
- before(() => {
4
- // go to cookie banner component
5
- cy.visit('/#impactslider');
6
- });
7
-
8
- describe('props and methods section', () => {
9
- beforeEach(() => {
10
- cy.visit('/#impactslider');
11
- cy.get('[data-testid="ImpactSlider-container"] button[name="rsg-usage"]')
12
- .contains('Props & methods')
13
- .as('propsBtn');
14
-
15
- cy.get('@propsBtn')
16
- .closest('[class^=rsg--tabs]')
17
- .as('container');
18
- });
19
-
20
- it('is present', () => {
21
- cy.get('@propsBtn').should('exist');
22
- });
23
-
24
- it('does not show table initially', () => {
25
- cy.get('@container')
26
- .find('table')
27
- .should('not.exist');
28
- });
29
-
30
- it('shows the table on button click', () => {
31
- cy.get('@propsBtn').click();
32
- cy.get('@container')
33
- .find('table')
34
- .should('contain', 'Prop name');
35
- });
36
- });
37
-
38
- describe('Check test values and interaction', () => {
39
- beforeEach(() => {
40
- cy.visit('/#impactslider');
41
- cy.get('[data-testid="ImpactSlider-example-1"]')
42
- .as('sliderOne');
43
-
44
- cy.get('@sliderOne')
45
- .find('[data-testid="impact-slider--moneybuy-1"]')
46
- .as('moneybuy1');
47
-
48
- cy.get('@sliderOne')
49
- .find('[data-testid="impact-slider--moneybuy-2"]')
50
- .as('moneybuy2');
51
-
52
- cy.get('@sliderOne')
53
- .find('[data-testid="impact-slider--moneybuy-3"]')
54
- .as('moneybuy3');
55
-
56
- cy.get('@sliderOne')
57
- .find('[data-testid="impact-slider--moneybuy-4"]')
58
- .as('moneybuy4');
59
-
60
- cy.get('@sliderOne')
61
- .find('.range-slider__thumb[data-upper="true"]')
62
- .as('sliderThumb');
63
- });
64
-
65
- it('All moneybuys are present with default values', () => {
66
- cy.get('@moneybuy1').should('exist').children('[data-testid="moneybuy-amount"]').should('have.text', '5');
67
- cy.get('@moneybuy2').should('exist').children('[data-testid="moneybuy-amount"]').should('have.text', '0');
68
- cy.get('@moneybuy3').should('exist').children('[data-testid="moneybuy-amount"]').should('have.text', '0');
69
- cy.get('@moneybuy4').should('exist').children('[data-testid="moneybuy-amount"]').should('have.text', '0');
70
- });
71
- });
72
- });
@@ -1,589 +0,0 @@
1
- describe('MarketingPreferencesDSForm component', () => {
2
- before(() => {
3
- cy.visit('/#!/MarketingPreferencesDSForm/1');
4
- });
5
-
6
- beforeEach(() => {
7
- cy.visit('/#!/MarketingPreferencesDSForm/1');
8
- cy.window().then(win => {
9
- cy.spy(win.console, 'log').as('consoleLog');
10
- });
11
- cy.get('[data-testid="MarketingPreferencesDSForm-container"]')
12
- .as('container');
13
- cy.get('@container')
14
- .find('#marketing-preferences--default')
15
- .as('default');
16
- cy.get('@container')
17
- .find('#marketing-preferences--custom')
18
- .as('customised');
19
- cy.get('@default')
20
- .parent('form')
21
- .find('input[type=submit]').as('default-submit');
22
- cy.get('@customised')
23
- .parent('form')
24
- .find('input[type=submit]').as('customised-submit');
25
- });
26
-
27
- describe('Check render', () => {
28
- it('should render Default example', () => {
29
- cy.get('@default')
30
- .should('exist')
31
- .find('h3')
32
- .contains('Stay up to date with Comic Relief?');
33
- });
34
-
35
- it('should render correct Default example options', () => {
36
- cy.get('@default')
37
- .find('.field-email')
38
- .should('exist');
39
-
40
- cy.get('@default')
41
- .find('.field-phone')
42
- .should('exist');
43
-
44
- cy.get('@default')
45
- .find('.field-post')
46
- .should('exist');
47
-
48
- cy.get('@default')
49
- .find('.field-sms')
50
- .should('exist');
51
- });
52
-
53
- it('should render Customised example', () => {
54
- cy.get('@customised')
55
- .should('exist')
56
- .find('h3')
57
- .contains('Stay up to date with Comic Relief?');
58
- });
59
-
60
- it('should render correct Customised example options', () => {
61
- cy.get('@customised')
62
- .find('.field-email')
63
- .should('exist');
64
-
65
- cy.get('@customised')
66
- .find('.field-phone')
67
- .should('exist');
68
-
69
- cy.get('@customised')
70
- .find('.field-post')
71
- .should('exist');
72
-
73
- // SMS Field is not rendered in the custom example
74
- cy.get('@customised')
75
- .find('.field-sms')
76
- .should('not.exist');
77
- });
78
- });
79
-
80
- describe('Check "no-interaction" submission', () => {
81
- it('should complete "no-interaction" submission with Default example', () => {
82
- cy.get('@default-submit').click()
83
- .get('@consoleLog')
84
- .should('be.calledWith', 'Successful submission');
85
- });
86
- it('should complete "no-interaction" submission with Customised example', () => {
87
- cy.get('@customised-submit').click()
88
- .get('@consoleLog')
89
- .should('be.calledWith', 'Successful submission');
90
- });
91
- });
92
-
93
- describe('Check validation', () => {
94
- it('Check Default example with invalid values', () => {
95
- // Fill email field with an invalid value
96
- cy.get('@default')
97
- .find('#mp_permissionEmail-yes').click();
98
- cy.get('@default')
99
- .find('#mp_email')
100
- .type('@an-invalid@email.com');
101
-
102
- // Fill SMS field with an invalid value
103
- cy.get('@default')
104
- .find('#mp_permissionSMS-yes').click();
105
- cy.get('@default')
106
- .find('#mp_mobile')
107
- .type('07777');
108
-
109
- // Fill Phone field with an invalid value
110
- cy.get('@default')
111
- .find('#mp_permissionPhone-yes').click();
112
- cy.get('@default')
113
- .find('#mp_phone')
114
- .type('0208');
115
-
116
- // Fill Post fields with invalid values
117
- cy.get('@default')
118
- .find('#mp_permissionPost-yes').click();
119
- // Address 1
120
- cy.get('@default')
121
- .find('#mp_address1')
122
- .type('@');
123
- // Address 2
124
- cy.get('@default')
125
- .find('#mp_address2')
126
- .type('@');
127
- // Address 3
128
- cy.get('@default')
129
- .find('#mp_address3')
130
- .type('@');
131
- // Town
132
- cy.get('@default')
133
- .find('#mp_town')
134
- .type('@');
135
- // Postcode
136
- cy.get('@default')
137
- .find('#mp_postcode')
138
- .type('@');
139
- // Country
140
- cy.get('@default')
141
- .find('#mp_country')
142
- .type('@');
143
-
144
- // Submit
145
- cy.get('@default-submit').click();
146
-
147
- // Check for all expected 'invalid' errors:
148
- // Email
149
- cy.get('@default')
150
- .find('.field-email span[data-test=error-message] span')
151
- .should('exist')
152
- .contains('Please enter a valid email address');
153
-
154
- // Mobile
155
- cy.get('@default')
156
- .find('.field-sms span[data-test=error-message] span')
157
- .should('exist')
158
- .contains('Please enter a valid UK mobile number');
159
-
160
- // Phone
161
- cy.get('@default')
162
- .find('.field-phone span[data-test=error-message] span')
163
- .should('exist')
164
- .contains('Please enter a valid UK phone number');
165
-
166
- // Address1
167
- cy.get('@default')
168
- .find('.field-post label[for="mp_address1"] span[data-test=error-message] span')
169
- .should('exist')
170
- .contains('This field only accepts alphanumeric characters and , . ( ) / & \' - and must start with an alphanumeric character');
171
-
172
- // Town
173
- cy.get('@default')
174
- .find('.field-post label[for="mp_town"] span[data-test=error-message] span')
175
- .should('exist')
176
- .contains('This field only accepts alphanumeric characters and , . ( ) / & \' - and must start with an alphanumeric character');
177
-
178
- // Postcode
179
- cy.get('@default')
180
- .find('.field-post label[for="mp_postcode"] span[data-test=error-message] span')
181
- .should('exist')
182
- .contains('Please enter a valid postcode');
183
-
184
- // Country
185
- cy.get('@default')
186
- .find('.field-post label[for="mp_country"] span[data-test=error-message] span')
187
- .should('exist')
188
- .contains('This field only accepts alphanumeric characters and , . ( ) / & \' - and must start with an alphanumeric character');
189
- });
190
-
191
- it('check Default example with empty values', () => {
192
- // Show email field
193
- cy.get('@default')
194
- .find('#mp_permissionEmail-yes').click();
195
-
196
- // Show SMS field
197
- cy.get('@default')
198
- .find('#mp_permissionSMS-yes').click();
199
-
200
- // Show Phone field
201
- cy.get('@default')
202
- .find('#mp_permissionPhone-yes').click();
203
-
204
- // Show Post fields
205
- cy.get('@default')
206
- .find('#mp_permissionPost-yes').click();
207
-
208
- // Submit
209
- cy.get('@default-submit').click();
210
-
211
- // Check for all expected 'empty' errors:
212
- // Email
213
- cy.get('@default')
214
- .find('.field-email span[data-test=error-message] span')
215
- .should('exist')
216
- .contains('Please enter your email address');
217
-
218
- // Mobile
219
- cy.get('@default')
220
- .find('.field-sms span[data-test=error-message] span')
221
- .should('exist')
222
- .contains('Please enter your mobile number');
223
-
224
- // Phone
225
- cy.get('@default')
226
- .find('.field-phone span[data-test=error-message] span')
227
- .should('exist')
228
- .contains('Please enter your phone number');
229
-
230
- // Address1
231
- cy.get('@default')
232
- .find('.field-post label[for="mp_address1"] span[data-test=error-message] span')
233
- .should('exist')
234
- .contains('Please enter the first line of your address');
235
-
236
- // Address2
237
- cy.get('@default')
238
- .find('.field-post label[for="mp_address2"] span[data-test=error-message] span')
239
- .should('not.exist'); // non-required, so no error
240
-
241
- // Address3
242
- cy.get('@default')
243
- .find('.field-post label[for="mp_address3"] span[data-test=error-message] span')
244
- .should('not.exist'); // non-required, so no error
245
-
246
- // Town
247
- cy.get('@default')
248
- .find('.field-post label[for="mp_town"] span[data-test=error-message] span')
249
- .should('exist')
250
- .contains('Please enter your town');
251
-
252
- // Postcode
253
- cy.get('@default')
254
- .find('.field-post label[for="mp_postcode"] span[data-test=error-message] span')
255
- .should('exist')
256
- .contains('Please enter your postcode');
257
-
258
- // Country
259
- cy.get('@default')
260
- .find('.field-post label[for="mp_country"] span[data-test=error-message] span')
261
- .should('exist')
262
- .contains('Please enter your country');
263
- });
264
-
265
- it('Check Default example with valid values', () => {
266
- // Fill email field with an valid value
267
- cy.get('@default')
268
- .find('#mp_permissionEmail-yes').click();
269
- cy.get('@default')
270
- .find('#mp_email')
271
- .type('a-valid@email.com');
272
-
273
- // Fill SMS field with a valid value
274
- cy.get('@default')
275
- .find('#mp_permissionSMS-yes').click();
276
- cy.get('@default')
277
- .find('#mp_mobile')
278
- .type('07777 123123');
279
-
280
- // Fill Phone field with a valid value
281
- cy.get('@default')
282
- .find('#mp_permissionPhone-yes').click();
283
- cy.get('@default')
284
- .find('#mp_phone')
285
- .type('020 7820 2000');
286
-
287
- // Fill Post fields with valid values
288
- // Address 1
289
- cy.get('@default')
290
- .find('#mp_permissionPost-yes').click();
291
- cy.get('@default')
292
- .find('#mp_address1')
293
- .type('10 King Road');
294
- // Address 2
295
- cy.get('@default')
296
- .find('#mp_address2')
297
- .type('Some Area');
298
- // Address 3
299
- cy.get('@default')
300
- .find('#mp_address3')
301
- .type('Some wider area');
302
- // Town
303
- cy.get('@default')
304
- .find('#mp_town')
305
- .type('London');
306
- // Postcode
307
- cy.get('@default')
308
- .find('#mp_postcode')
309
- .type('SE1 7TP');
310
- // Country
311
- cy.get('@default')
312
- .find('#mp_country')
313
- .type('UK');
314
-
315
- // Submit
316
- cy.get('@default-submit').click();
317
-
318
- // Check that all errors have been remove:
319
- // Email
320
- cy.get('@default')
321
- .find('.field-email span[data-test=error-message] span')
322
- .should('not.exist');
323
-
324
- // Mobile
325
- cy.get('@default')
326
- .find('.field-sms span[data-test=error-message] span')
327
- .should('not.exist');
328
-
329
- // Phone
330
- cy.get('@default')
331
- .find('.field-phone span[data-test=error-message] span')
332
- .should('not.exist');
333
-
334
- // Address1
335
- cy.get('@default')
336
- .find('.field-post label[for="mp_address1"] span[data-test=error-message] span')
337
- .should('not.exist');
338
-
339
- // Town
340
- cy.get('@default')
341
- .find('.field-post label[for="mp_town"] span[data-test=error-message] span')
342
- .should('not.exist');
343
-
344
- // Postcode
345
- cy.get('@default')
346
- .find('.field-post label[for="mp_postcode"] span[data-test=error-message] span')
347
- .should('not.exist');
348
-
349
- // Country
350
- cy.get('@default')
351
- .find('.field-post label[for="mp_country"] span[data-test=error-message] span')
352
- .should('not.exist');
353
-
354
- cy.get('@default-submit').click()
355
- .get('@consoleLog')
356
- .should('be.calledWith', 'Successful submission');
357
- });
358
-
359
- it('Check Customised example with invalid values', () => {
360
- // Select opt-in for email, with the valid value already having being set via config
361
- cy.get('@customised')
362
- .find('#mp_permissionEmail-yes').click();
363
-
364
- // Fill Phone field with an invalid value
365
- cy.get('@customised')
366
- .find('#mp_permissionPhone-yes').click();
367
- cy.get('@customised')
368
- .find('#mp_phone')
369
- .type('0208');
370
-
371
- // Fill Post fields with invalid values
372
- cy.get('@customised')
373
- .find('#mp_permissionPost-yes').click();
374
- // Address 1
375
- cy.get('@customised')
376
- .find('#mp_address1')
377
- .type('@');
378
- // Address 2
379
- cy.get('@customised')
380
- .find('#mp_address2')
381
- .type('@');
382
- // Address 3
383
- cy.get('@customised')
384
- .find('#mp_address3')
385
- .type('@');
386
- // Town
387
- cy.get('@customised')
388
- .find('#mp_town')
389
- .type('@');
390
- // Postcode
391
- cy.get('@customised')
392
- .find('#mp_postcode')
393
- .type('@');
394
- // Country
395
- cy.get('@customised')
396
- .find('#mp_country')
397
- .type('@');
398
-
399
- // Submit
400
- cy.get('@customised-submit').click();
401
-
402
- // Check for all expected 'invalid' errors:
403
- // Phone
404
- cy.get('@customised')
405
- .find('.field-phone span[data-test=error-message] span')
406
- .should('exist')
407
- .contains('Please enter a valid UK phone number');
408
-
409
- // Address1
410
- cy.get('@customised')
411
- .find('.field-post label[for="mp_address1"] span[data-test=error-message] span')
412
- .should('exist')
413
- .contains('This field only accepts alphanumeric characters and , . ( ) / & \' - and must start with an alphanumeric character');
414
-
415
- // Town
416
- cy.get('@customised')
417
- .find('.field-post label[for="mp_town"] span[data-test=error-message] span')
418
- .should('exist')
419
- .contains('This field only accepts alphanumeric characters and , . ( ) / & \' - and must start with an alphanumeric character');
420
-
421
- // Postcode
422
- cy.get('@customised')
423
- .find('.field-post label[for="mp_postcode"] span[data-test=error-message] span')
424
- .should('exist')
425
- .contains('Please enter a valid postcode');
426
-
427
- // Country
428
- cy.get('@customised')
429
- .find('.field-post label[for="mp_country"] span[data-test=error-message] span')
430
- .should('exist')
431
- .contains('This field only accepts alphanumeric characters and , . ( ) / & \' - and must start with an alphanumeric character');
432
- });
433
-
434
- it('check Customised example with empty values', () => {
435
- // Clear Phone field
436
- cy.get('@customised')
437
- .find('#mp_permissionPhone-yes').click();
438
- cy.get('@customised')
439
- .find('#mp_phone')
440
- .clear();
441
-
442
- // Clear Post fields
443
- // Address 1
444
- cy.get('@customised')
445
- .find('#mp_permissionPost-yes').click();
446
- cy.get('@customised')
447
- .find('#mp_address1')
448
- .clear();
449
- // Address 2
450
- cy.get('@customised')
451
- .find('#mp_address2')
452
- .clear();
453
-
454
- // Address 3
455
- cy.get('@customised')
456
- .find('#mp_address3')
457
- .clear();
458
-
459
- // Town
460
- cy.get('@customised')
461
- .find('#mp_town')
462
- .clear();
463
-
464
- // Postcode
465
- cy.get('@customised')
466
- .find('#mp_postcode')
467
- .clear();
468
-
469
- // Country
470
- cy.get('@customised')
471
- .find('#mp_country')
472
- .clear();
473
-
474
- // Submit
475
- cy.get('@customised-submit').click();
476
-
477
- // Check for all expected errors:
478
- // Phone
479
- cy.get('@customised')
480
- .find('.field-phone span[data-test=error-message] span')
481
- .should('exist')
482
- .contains('Please enter your phone number');
483
-
484
- // Address1
485
- cy.get('@customised')
486
- .find('.field-post label[for="mp_address1"] span[data-test=error-message] span')
487
- .should('exist')
488
- .contains('Please enter the first line of your address');
489
-
490
- // Address2
491
- cy.get('@customised')
492
- .find('.field-post label[for="mp_address2"] span[data-test=error-message] span')
493
- .should('not.exist'); // non-required, so no error
494
-
495
- // Address3
496
- cy.get('@customised')
497
- .find('.field-post label[for="mp_address3"] span[data-test=error-message] span')
498
- .should('not.exist'); // non-required, so no error
499
-
500
- // Town
501
- cy.get('@customised')
502
- .find('.field-post label[for="mp_town"] span[data-test=error-message] span')
503
- .should('exist')
504
- .contains('Please enter your town');
505
-
506
- // Postcode
507
- cy.get('@customised')
508
- .find('.field-post label[for="mp_postcode"] span[data-test=error-message] span')
509
- .should('exist')
510
- .contains('Please enter your postcode');
511
-
512
- // Country
513
- cy.get('@customised')
514
- .find('.field-post label[for="mp_country"] span[data-test=error-message] span')
515
- .should('exist')
516
- .contains('Please enter your country');
517
- });
518
-
519
- it('Check Customised example with valid values', () => {
520
- // Fill Phone field with a valid value
521
- cy.get('@customised')
522
- .find('#mp_permissionPhone-yes').click();
523
- cy.get('@customised')
524
- .find('#mp_phone')
525
- .type('020 7820 2000');
526
-
527
- // Fill Post fields with valid values
528
- // Address 1
529
- cy.get('@customised')
530
- .find('#mp_permissionPost-yes').click();
531
- cy.get('@customised')
532
- .find('#mp_address1')
533
- .type('10 King Road');
534
- // Address 2
535
- cy.get('@customised')
536
- .find('#mp_address2')
537
- .type('Some Area');
538
- // Address 3
539
- cy.get('@customised')
540
- .find('#mp_address3')
541
- .type('Some wider area');
542
- // Town
543
- cy.get('@customised')
544
- .find('#mp_town')
545
- .type('London');
546
- // Postcode
547
- cy.get('@customised')
548
- .find('#mp_postcode')
549
- .type('SE1 7TP');
550
- // Country
551
- cy.get('@customised')
552
- .find('#mp_country')
553
- .type('UK');
554
-
555
- // Submit
556
- cy.get('@customised-submit').click();
557
-
558
- // Check that all errors have been remove:
559
- // Phone
560
- cy.get('@customised')
561
- .find('.field-phone span[data-test=error-message] span')
562
- .should('not.exist');
563
-
564
- // Address1
565
- cy.get('@customised')
566
- .find('.field-post label[for="mp_address1"] span[data-test=error-message] span')
567
- .should('not.exist');
568
-
569
- // Town
570
- cy.get('@customised')
571
- .find('.field-post label[for="mp_town"] span[data-test=error-message] span')
572
- .should('not.exist');
573
-
574
- // Postcode
575
- cy.get('@customised')
576
- .find('.field-post label[for="mp_postcode"] span[data-test=error-message] span')
577
- .should('not.exist');
578
-
579
- // Country
580
- cy.get('@customised')
581
- .find('.field-post label[for="mp_country"] span[data-test=error-message] span')
582
- .should('not.exist');
583
-
584
- cy.get('@customised-submit').click()
585
- .get('@consoleLog')
586
- .should('be.calledWith', 'Successful submission');
587
- });
588
- });
589
- });