@iamproperty/components 7.6.4--beta7 → 7.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/components/actionbar.component.css +1 -1
- package/assets/css/components/actionbar.component.css.map +1 -1
- package/assets/css/components/actionbar.global.css +1 -1
- package/assets/css/components/actionbar.global.css.map +1 -1
- package/assets/css/components/address-lookup.component.css +1 -1
- package/assets/css/components/address-lookup.component.css.map +1 -1
- package/assets/css/components/applied-filters.css +1 -1
- package/assets/css/components/applied-filters.css.map +1 -1
- package/assets/css/components/barchart.component.css +1 -1
- package/assets/css/components/barchart.component.css.map +1 -1
- package/assets/css/components/bento-grid.global.css +1 -1
- package/assets/css/components/calendar.component.css +1 -1
- package/assets/css/components/calendar.component.css.map +1 -1
- package/assets/css/components/calendar.config.css +1 -1
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/card.module.css +1 -1
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/charts.config.css +1 -1
- package/assets/css/components/charts.css +1 -1
- package/assets/css/components/charts.css.map +1 -1
- package/assets/css/components/charts.module.css +1 -1
- package/assets/css/components/charts.module.css.map +1 -1
- package/assets/css/components/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/config.component.css +1 -0
- package/assets/css/components/config.component.css.map +1 -0
- package/assets/css/components/content.component.css +1 -1
- package/assets/css/components/content.component.css.map +1 -1
- package/assets/css/components/doughnutchart.component.css +1 -1
- package/assets/css/components/doughnutchart.component.css.map +1 -1
- package/assets/css/components/fileupload.css +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/filter-card.component.css +1 -1
- package/assets/css/components/header.css +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/inline-edit.css +1 -1
- package/assets/css/components/inline-edit.css.map +1 -1
- package/assets/css/components/input.component.css +1 -1
- package/assets/css/components/input.component.css.map +1 -1
- package/assets/css/components/menu.component.css +1 -1
- package/assets/css/components/menu.component.css.map +1 -1
- package/assets/css/components/milestone.css +1 -1
- package/assets/css/components/modal.component.css +1 -1
- package/assets/css/components/modal.component.css.map +1 -1
- package/assets/css/components/multi-step-modal.component.css +1 -1
- package/assets/css/components/multi-step-modal.component.css.map +1 -1
- package/assets/css/components/multiselect.css +1 -1
- package/assets/css/components/multiselect.css.map +1 -1
- package/assets/css/components/nav.component.css +1 -1
- package/assets/css/components/nav.component.css.map +1 -1
- package/assets/css/components/nav.global.css +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/notification.css +1 -1
- package/assets/css/components/notification.css.map +1 -1
- package/assets/css/components/pagination.css +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/password.component.css +1 -1
- package/assets/css/components/password.component.css.map +1 -1
- package/assets/css/components/property-searchbar.css +1 -1
- package/assets/css/components/property-searchbar.css.map +1 -1
- package/assets/css/components/rank.component.css +1 -1
- package/assets/css/components/rank.component.css.map +1 -1
- package/assets/css/components/record-card.component.css +1 -1
- package/assets/css/components/record-card.component.css.map +1 -1
- package/assets/css/components/slider.css +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/split-button.component.css +1 -1
- package/assets/css/components/split-button.component.css.map +1 -1
- package/assets/css/components/table-basic.component.css +1 -1
- package/assets/css/components/table-basic.component.css.map +1 -1
- package/assets/css/components/table-basic.global.css +1 -1
- package/assets/css/components/table-basic.global.css.map +1 -1
- package/assets/css/components/table.component.css +1 -1
- package/assets/css/components/table.component.css.map +1 -1
- package/assets/css/components/table.global.css +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/components/tabs.component.css +1 -1
- package/assets/css/components/tabs.component.css.map +1 -1
- package/assets/css/components/tag.component.css +1 -1
- package/assets/css/components/tag.component.css.map +1 -1
- package/assets/css/components/tooltip.component.css +1 -1
- package/assets/css/components/tooltip.component.css.map +1 -1
- package/assets/css/components/video-card.component.css +1 -1
- package/assets/css/components/video-modal.component.css +1 -1
- package/assets/css/components/video-modal.component.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +8 -7
- package/assets/js/components/actionbar/actionbar.component.min.js +7 -7
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +12 -2
- package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.js +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.min.js +2 -2
- package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
- package/assets/js/components/barchart/barchart.component.min.js +6 -6
- package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.min.js +2 -2
- package/assets/js/components/calendar/calendar.component.min.js +2 -2
- package/assets/js/components/card/card.component.min.js +7 -7
- package/assets/js/components/carousel/carousel.component.min.js +4 -4
- package/assets/js/components/collapsible-side/collapsible-side.component.js +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +5 -5
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/config/config.component.js +532 -0
- package/assets/js/components/config/config.component.min.js +59 -0
- package/assets/js/components/config/config.component.min.js.map +1 -0
- package/assets/js/components/content/content.component.min.js +4 -4
- package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +7 -7
- package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
- package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/form/form.component.min.js +1 -1
- package/assets/js/components/header/header.component.js +39 -1
- package/assets/js/components/header/header.component.min.js +40 -4
- package/assets/js/components/header/header.component.min.js.map +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
- package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
- package/assets/js/components/input/input.component.js +1 -1
- package/assets/js/components/input/input.component.min.js +3 -3
- package/assets/js/components/input/input.component.min.js.map +1 -1
- package/assets/js/components/input-range/input-range.component.js +1 -1
- package/assets/js/components/input-range/input-range.component.min.js +2 -2
- package/assets/js/components/input-range/input-range.component.min.js.map +1 -1
- package/assets/js/components/marketing/marketing.component.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +2 -2
- package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
- package/assets/js/components/menu/menu.component.min.js +2 -2
- package/assets/js/components/milestone/milestone.component.min.js +1 -1
- package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
- package/assets/js/components/modal/modal.component.js +1 -1
- package/assets/js/components/modal/modal.component.min.js +5 -5
- package/assets/js/components/modal/modal.component.min.js.map +1 -1
- package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
- package/assets/js/components/multi-step-modal/multi-step-modal.component.js +1 -1
- package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +5 -5
- package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js.map +1 -1
- package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
- package/assets/js/components/nav/nav.component.js +1 -1
- package/assets/js/components/nav/nav.component.min.js +6 -6
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +69 -30
- package/assets/js/components/notification/notification.component.min.js +5 -5
- package/assets/js/components/notification/notification.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +4 -4
- package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
- package/assets/js/components/password/password.component.js +1 -1
- package/assets/js/components/password/password.component.min.js +5 -5
- package/assets/js/components/password/password.component.min.js.map +1 -1
- package/assets/js/components/popover/popover.component.min.js +1 -1
- package/assets/js/components/rank/rank.component.min.js +1 -1
- package/assets/js/components/rankings/rankings.component.min.js +1 -1
- package/assets/js/components/rating/rating.component.min.js +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +2 -2
- package/assets/js/components/search/search.component.js +1 -1
- package/assets/js/components/search/search.component.min.js +2 -2
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.min.js +2 -2
- package/assets/js/components/split-button/split-button.component.js +0 -4
- package/assets/js/components/split-button/split-button.component.min.js +6 -7
- package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
- package/assets/js/components/std-address-lookup/std-address-lookup.component.js +41 -11
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +9 -17
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.min.js +4 -4
- package/assets/js/components/table-ajax/table-ajax.component.min.js +7 -7
- package/assets/js/components/table-basic/table-basic.component.min.js +5 -5
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +4 -4
- package/assets/js/components/table-submit/table-submit.component.min.js +7 -7
- package/assets/js/components/tabs/tabs.component.js +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +5 -5
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/components/tag/tag.component.min.js +4 -4
- package/assets/js/components/tag/tag.component.min.js.map +1 -1
- package/assets/js/components/tooltip/tooltip.component.min.js +2 -2
- package/assets/js/components/video-card/video-card.component.min.js +2 -2
- package/assets/js/components/video-modal/video-modal.component.js +1 -1
- package/assets/js/components/video-modal/video-modal.component.min.js +4 -4
- package/assets/js/components/video-modal/video-modal.component.min.js.map +1 -1
- package/assets/js/components/word-count/word-count.component.min.js +1 -1
- package/assets/js/modules/helper.test.js +84 -0
- package/assets/js/modules/test.js +19 -0
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/_components.scss +7 -7
- package/assets/sass/_corefiles.scss +8 -7
- package/assets/sass/_elements.scss +16 -16
- package/assets/sass/_functions/bs_mixins.scss +3 -3
- package/assets/sass/_utilities.scss +4 -3
- package/assets/sass/components/actionbar.component.scss +37 -28
- package/assets/sass/components/actionbar.global.scss +12 -4
- package/assets/sass/components/address-lookup.component.scss +7 -7
- package/assets/sass/components/applied-filters.scss +2 -2
- package/assets/sass/components/barchart.component.scss +6 -6
- package/assets/sass/components/bento-grid.component.scss +2 -2
- package/assets/sass/components/bento-grid.global.scss +3 -3
- package/assets/sass/components/calendar.component.scss +14 -14
- package/assets/sass/components/calendar.config.scss +4 -4
- package/assets/sass/components/card.component.scss +10 -10
- package/assets/sass/components/card.module.scss +2 -2
- package/assets/sass/components/carousel.component.scss +8 -8
- package/assets/sass/components/carousel.config.scss +2 -2
- package/assets/sass/components/charts.config.scss +3 -3
- package/assets/sass/components/charts.module.scss +4 -18
- package/assets/sass/components/charts.scss +3 -3
- package/assets/sass/components/collapsible-side.scss +16 -16
- package/assets/sass/components/config.component.scss +235 -0
- package/assets/sass/components/content.component.scss +1 -1
- package/assets/sass/components/darkmode.component.scss +1 -1
- package/assets/sass/components/doughnutchart.component.scss +11 -10
- package/assets/sass/components/fileupload.scss +9 -9
- package/assets/sass/components/filter-card.component.scss +3 -3
- package/assets/sass/components/header.scss +121 -23
- package/assets/sass/components/inline-edit.preload.scss +1 -1
- package/assets/sass/components/inline-edit.scss +1 -1
- package/assets/sass/components/input.component.scss +2 -1
- package/assets/sass/components/marketing.component.scss +1 -1
- package/assets/sass/components/menu.component.scss +10 -10
- package/assets/sass/components/milestone.scss +2 -2
- package/assets/sass/components/modal.component.scss +22 -22
- package/assets/sass/components/multi-step-modal.component.scss +15 -15
- package/assets/sass/components/multi-step-modal.global.scss +1 -1
- package/assets/sass/components/multi-step.component.scss +3 -3
- package/assets/sass/components/multiselect.scss +9 -9
- package/assets/sass/components/nav.component.scss +24 -24
- package/assets/sass/components/nav.docs.scss +1 -1
- package/assets/sass/components/nav.global.scss +120 -119
- package/assets/sass/components/nav.preload.scss +1 -1
- package/assets/sass/components/notification.scss +36 -19
- package/assets/sass/components/pagination.scss +7 -7
- package/assets/sass/components/password.component.scss +1 -1
- package/assets/sass/components/popover.component.scss +3 -3
- package/assets/sass/components/property-searchbar.scss +1 -1
- package/assets/sass/components/rank.component.scss +19 -19
- package/assets/sass/components/rankings.component.scss +1 -1
- package/assets/sass/components/rankings.global.scss +2 -2
- package/assets/sass/components/record-card.component.scss +15 -15
- package/assets/sass/components/slider.scss +4 -4
- package/assets/sass/components/snapshot.scss +1 -1
- package/assets/sass/components/split-button.component.scss +2 -2
- package/assets/sass/components/table-basic.component.scss +3 -3
- package/assets/sass/components/table-basic.global.scss +34 -14
- package/assets/sass/components/table.component.scss +27 -16
- package/assets/sass/components/table.global.scss +51 -49
- package/assets/sass/components/tabs.component.scss +3 -3
- package/assets/sass/components/tabs.config.scss +1 -1
- package/assets/sass/components/tag.component.scss +2 -2
- package/assets/sass/components/testimonial.scss +2 -2
- package/assets/sass/components/timeline.scss +3 -3
- package/assets/sass/components/tooltip.component.scss +13 -8
- package/assets/sass/components/video-card.component.scss +2 -2
- package/assets/sass/components/video-modal.component.scss +1 -1
- package/assets/sass/components/word-count.component.scss +1 -1
- package/assets/sass/core.scss +1 -1
- package/assets/sass/elements/{admin-panel.scss → admin-panel.css} +17 -24
- package/assets/sass/elements/{badge-tag.scss → badge-tag.css} +11 -19
- package/assets/sass/elements/button__group.css +3 -2
- package/assets/sass/elements/{buttons--action.scss → buttons--action.css} +11 -19
- package/assets/sass/elements/{buttons--compact.scss → buttons--compact.css} +8 -36
- package/assets/sass/elements/buttons--global.scss +12 -18
- package/assets/sass/elements/buttons--special.scss +1 -1
- package/assets/sass/elements/buttons.scss +6 -6
- package/assets/sass/elements/container.scss +6 -6
- package/assets/sass/elements/details.scss +13 -13
- package/assets/sass/elements/dialog.scss +7 -7
- package/assets/sass/elements/dropdown.scss +1 -1
- package/assets/sass/elements/feature.scss +114 -6
- package/assets/sass/elements/forms.scss +24 -25
- package/assets/sass/elements/icons.css +1 -1
- package/assets/sass/elements/links.scss +5 -5
- package/assets/sass/elements/lists--tick-list.scss +18 -6
- package/assets/sass/elements/modal.scss +24 -24
- package/assets/sass/elements/popover.scss +14 -14
- package/assets/sass/elements/prefix.scss +18 -4
- package/assets/sass/elements/progress.scss +14 -14
- package/assets/sass/elements/table.element.scss +9 -5
- package/assets/sass/elements/tooltips.scss +4 -4
- package/assets/sass/email.scss +1 -1
- package/assets/sass/foundations/animations.scss +2 -0
- package/assets/sass/foundations/colours.scss +1 -1
- package/assets/sass/foundations/reboot.scss +1 -1
- package/assets/sass/foundations/root.scss +29 -96
- package/assets/sass/templates/auth.scss +7 -7
- package/assets/sass/templates/form.scss +8 -8
- package/assets/sass/utilities/border.scss +6 -18
- package/assets/sass/utilities/font-awesome-iso-fallbacks.scss +6 -0
- package/assets/sass/utilities/shadow.scss +7 -0
- package/assets/sass/utilities/wider-colours.scss +0 -2
- package/assets/ts/components/actionbar/actionbar.component.ts +8 -7
- package/assets/ts/components/address-lookup/address-lookup.component.ts +17 -2
- package/assets/ts/components/advanced-select/advanced-select.component.ts +1 -1
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +1 -1
- package/assets/ts/components/config/config.component.ts +699 -0
- package/assets/ts/components/header/header.component.ts +40 -1
- package/assets/ts/components/inline-edit/inline-edit.component.ts +1 -1
- package/assets/ts/components/input/input.component.ts +1 -1
- package/assets/ts/components/input-range/input-range.component.ts +1 -1
- package/assets/ts/components/marketing/marketing.component.ts +1 -1
- package/assets/ts/components/modal/modal.component.ts +1 -1
- package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +1 -1
- package/assets/ts/components/nav/nav.component.ts +1 -1
- package/assets/ts/components/notification/notification.component.ts +98 -47
- package/assets/ts/components/pagination/pagination.component.ts +1 -1
- package/assets/ts/components/password/password.component.ts +1 -1
- package/assets/ts/components/search/search.component.ts +1 -1
- package/assets/ts/components/split-button/split-button.component.ts +0 -4
- package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +47 -12
- package/assets/ts/components/tabs/tabs.component.ts +1 -1
- package/assets/ts/components/video-modal/video-modal.component.ts +1 -1
- package/assets/ts/modules/helper.test.ts +143 -0
- package/assets/ts/modules/test.ts +22 -0
- package/dist/components.es.js +29 -29
- package/dist/components.umd.js +372 -288
- package/package.json +9 -21
- package/src/components/Config/Config.vue +23 -0
- package/assets/js/tests/helpers.spec.js +0 -79
- package/assets/js/ui-tests/card.spec.js +0 -14
- package/assets/js/ui-tests/carousel.spec.js +0 -60
- package/assets/js/ui-tests/chart.spec.js +0 -59
- package/assets/js/ui-tests/fileupload.spec.js +0 -22
- package/assets/js/ui-tests/filterlist.spec.js +0 -22
- package/assets/js/ui-tests/multistep.spec.js +0 -68
- package/assets/js/ui-tests/slider.spec.js +0 -20
- package/assets/js/ui-tests/table.spec.js +0 -81
- package/assets/ts/tests/helpers.spec.ts +0 -137
- package/assets/ts/ui-tests/card.spec.ts +0 -19
- package/assets/ts/ui-tests/carousel.spec.ts +0 -66
- package/assets/ts/ui-tests/chart.spec.ts +0 -71
- package/assets/ts/ui-tests/data-layer.spec.js +0 -68
- package/assets/ts/ui-tests/fileupload.spec.ts +0 -30
- package/assets/ts/ui-tests/filterlist.spec.ts +0 -26
- package/assets/ts/ui-tests/multistep.spec.ts +0 -78
- package/assets/ts/ui-tests/slider.spec.ts +0 -27
- package/assets/ts/ui-tests/table.spec.ts +0 -91
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import { isValidPostcode } from '../modules/helpers';
|
|
3
|
-
|
|
4
|
-
describe('The postcode helper function', () => {
|
|
5
|
-
|
|
6
|
-
// #region valid pattern variations
|
|
7
|
-
test('should return true when testing the postcode "ne33hd"', () => {
|
|
8
|
-
|
|
9
|
-
expect(isValidPostcode("ne33hd")).toBe(true);
|
|
10
|
-
});
|
|
11
|
-
test('should return true when testing the postcode "ne3 3hd"', () => {
|
|
12
|
-
|
|
13
|
-
expect(isValidPostcode("ne3 3hd")).toBe(true);
|
|
14
|
-
});
|
|
15
|
-
test('should return true when testing the postcode "NE3 3HD"', () => {
|
|
16
|
-
|
|
17
|
-
expect(isValidPostcode("NE3 3HD")).toBe(true);
|
|
18
|
-
});
|
|
19
|
-
test('should return true when testing the postcode "NE33HD"', () => {
|
|
20
|
-
|
|
21
|
-
expect(isValidPostcode("NE33HD")).toBe(true);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
test('should return true when testing the postcode " NE33HD"', () => {
|
|
25
|
-
|
|
26
|
-
expect(isValidPostcode(" NE33HD")).toBe(true);
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
test('should return true when testing the postcode " NE33HD "', () => {
|
|
30
|
-
|
|
31
|
-
expect(isValidPostcode(" NE33HD ")).toBe(true);
|
|
32
|
-
});
|
|
33
|
-
// #endregion
|
|
34
|
-
|
|
35
|
-
// #region Valid postcodes
|
|
36
|
-
|
|
37
|
-
test('should return true when testing the postcode "NE3 5DP"', () => {
|
|
38
|
-
|
|
39
|
-
expect(isValidPostcode("NE3 5DP")).toBe(true);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
test('should return true when testing the postcode "CW11 1SX"', () => {
|
|
43
|
-
|
|
44
|
-
expect(isValidPostcode("CW11 1SX")).toBe(true);
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
test('should return true when testing the postcode "NE21 6RB"', () => {
|
|
49
|
-
|
|
50
|
-
expect(isValidPostcode("NE21 6RB")).toBe(true);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
test('should return true when testing the postcode "SW1A 1AA"', () => {
|
|
55
|
-
|
|
56
|
-
expect(isValidPostcode("SW1A 1AA")).toBe(true);
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
test('should return true when testing the postcode "M1 1AE"', () => {
|
|
61
|
-
|
|
62
|
-
expect(isValidPostcode("M1 1AE")).toBe(true);
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
// #endregion
|
|
66
|
-
|
|
67
|
-
// incorrect pattern
|
|
68
|
-
test('should return false when testing the postcode "NE3"', () => {
|
|
69
|
-
|
|
70
|
-
expect(isValidPostcode("NE3")).toBe(false);
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
// #region Invalid postcodes correct pattern
|
|
74
|
-
|
|
75
|
-
test('should return false when testing the postcode "Q1A 4BT"', () => {
|
|
76
|
-
|
|
77
|
-
expect(isValidPostcode("Q1A 4BT")).toBe(true);
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
test('should return false when testing the postcode "AB0 7RE"', () => {
|
|
81
|
-
|
|
82
|
-
expect(isValidPostcode("AB0 7RE")).toBe(true);
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
test('should return false when testing the postcode "LN0A 4JP"', () => {
|
|
86
|
-
|
|
87
|
-
expect(isValidPostcode("LN0A 4JP")).toBe(true);
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
test('should return false when testing the postcode "WS0 9ND"', () => {
|
|
91
|
-
|
|
92
|
-
expect(isValidPostcode("WS0 9ND")).toBe(true);
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
test('should return false when testing the postcode "X8 2HR"', () => {
|
|
96
|
-
|
|
97
|
-
expect(isValidPostcode("X8 2HR")).toBe(true);
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
// #endregion
|
|
101
|
-
|
|
102
|
-
// #region Invalid postcodes incorrect pattern
|
|
103
|
-
|
|
104
|
-
test('should return false when testing the postcode "ZZ2 TYD"', () => {
|
|
105
|
-
|
|
106
|
-
expect(isValidPostcode("ZZ2 TYD")).toBe(false);
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
test('should return false when testing the postcode "ABC EFG"', () => {
|
|
111
|
-
|
|
112
|
-
expect(isValidPostcode("ABC EFG")).toBe(false);
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
test('should return false when testing the postcode "1234 567"', () => {
|
|
117
|
-
|
|
118
|
-
expect(isValidPostcode("1234 567")).toBe(false);
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
test('should return false when testing the postcode "23A PP2"', () => {
|
|
123
|
-
|
|
124
|
-
expect(isValidPostcode("23A PP2")).toBe(false);
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
test('should return false when testing the postcode "NE3 H23"', () => {
|
|
129
|
-
|
|
130
|
-
expect(isValidPostcode("NE3 H23")).toBe(false);
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
// #endregion
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
});
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import { getChartData } from '../modules/chart.module';
|
|
4
|
-
import puppeteer from 'puppeteer';
|
|
5
|
-
import 'expect-puppeteer';
|
|
6
|
-
|
|
7
|
-
import iamCard from '../components/card/card.component';
|
|
8
|
-
|
|
9
|
-
describe('The card component', () => {
|
|
10
|
-
if (!window.customElements.get(`iam-card`)) window.customElements.define(`iam-card`, iamCard);
|
|
11
|
-
|
|
12
|
-
document.body.innerHTML = `
|
|
13
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>`;
|
|
14
|
-
|
|
15
|
-
test('should have the class of card added to it', () => {
|
|
16
|
-
let component = document.querySelector('iam-card');
|
|
17
|
-
expect(component.classList).toContain('card');
|
|
18
|
-
});
|
|
19
|
-
});
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import { getChartData } from '../modules/chart.module';
|
|
4
|
-
import puppeteer from 'puppeteer';
|
|
5
|
-
import 'expect-puppeteer';
|
|
6
|
-
|
|
7
|
-
import iamCarousel from '../components/carousel/carousel.component';
|
|
8
|
-
import iamCard from '../components/card/card.component';
|
|
9
|
-
|
|
10
|
-
import { getProgressMax } from '../modules/carousel';
|
|
11
|
-
|
|
12
|
-
describe('The carousel component', () => {
|
|
13
|
-
if (!window.customElements.get(`iam-carousel`)) window.customElements.define(`iam-carousel`, iamCarousel);
|
|
14
|
-
if (!window.customElements.get(`iam-card`)) window.customElements.define(`iam-card`, iamCard);
|
|
15
|
-
|
|
16
|
-
document.body.innerHTML = `
|
|
17
|
-
<iam-carousel>
|
|
18
|
-
<div>
|
|
19
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
20
|
-
</div>
|
|
21
|
-
<div>
|
|
22
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
23
|
-
</div>
|
|
24
|
-
<div>
|
|
25
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
26
|
-
</div>
|
|
27
|
-
<div>
|
|
28
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
29
|
-
</div>
|
|
30
|
-
<div>
|
|
31
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
32
|
-
</div>
|
|
33
|
-
<div>
|
|
34
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
35
|
-
</div>
|
|
36
|
-
<div>
|
|
37
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
38
|
-
</div>
|
|
39
|
-
<div>
|
|
40
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
41
|
-
</div>
|
|
42
|
-
<div>
|
|
43
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
44
|
-
</div>
|
|
45
|
-
<div>
|
|
46
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
47
|
-
</div>
|
|
48
|
-
<div>
|
|
49
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
50
|
-
</div>
|
|
51
|
-
<div>
|
|
52
|
-
<iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
|
|
53
|
-
</div>
|
|
54
|
-
</iam-carousel>`;
|
|
55
|
-
|
|
56
|
-
test('should have a pip for each item', () => {
|
|
57
|
-
let component = document.querySelector('iam-carousel');
|
|
58
|
-
let value = component?.shadowRoot?.querySelectorAll('.carousel__controls button').length;
|
|
59
|
-
|
|
60
|
-
expect(value).toEqual(12);
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
test('should set the max value of the range input to the number of items divided by the visible items', () => {
|
|
64
|
-
expect(getProgressMax(9, 3)).toEqual(7);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import { getChartData } from '../modules/chart.module';
|
|
4
|
-
import puppeteer from 'puppeteer';
|
|
5
|
-
import 'expect-puppeteer';
|
|
6
|
-
|
|
7
|
-
import iamBarChart from '../components/barchart/barchart.component';
|
|
8
|
-
|
|
9
|
-
describe('The bar chart component', () => {
|
|
10
|
-
if (!window.customElements.get(`iam-barchart`)) window.customElements.define(`iam-barchart`, iamBarChart);
|
|
11
|
-
|
|
12
|
-
document.body.innerHTML = `
|
|
13
|
-
<iam-barchart>
|
|
14
|
-
<table>
|
|
15
|
-
<thead>
|
|
16
|
-
<tr>
|
|
17
|
-
<th>Items</th>
|
|
18
|
-
<th>Value</th>
|
|
19
|
-
</tr>
|
|
20
|
-
</thead>
|
|
21
|
-
<tbody>
|
|
22
|
-
<tr>
|
|
23
|
-
<td>Item 1</td>
|
|
24
|
-
<td>300</td>
|
|
25
|
-
</tr>
|
|
26
|
-
<tr>
|
|
27
|
-
<td>Item 2</td>
|
|
28
|
-
<td>150</td>
|
|
29
|
-
</tr>
|
|
30
|
-
<tr>
|
|
31
|
-
<td>Item 3</td>
|
|
32
|
-
<td>100</td>
|
|
33
|
-
</tr>
|
|
34
|
-
</tbody>
|
|
35
|
-
</table>
|
|
36
|
-
</iam-barchart>`;
|
|
37
|
-
|
|
38
|
-
test('should sync HTML changes with the shadow dom', () => {
|
|
39
|
-
let component = document.querySelector('iam-barchart');
|
|
40
|
-
let domElement = component.querySelector('tr:first-child td:nth-child(2)');
|
|
41
|
-
|
|
42
|
-
let shadowElement = component.shadowRoot.querySelector('tr:first-child td:nth-child(2)');
|
|
43
|
-
let value = shadowElement?.innerHTML;
|
|
44
|
-
|
|
45
|
-
expect(value).toEqual('<span data-group="Item 1" part="popover">300</span>');
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
test('should create the min attribute as 0', () => {
|
|
49
|
-
let component = document.querySelector('iam-barchart');
|
|
50
|
-
let { min } = getChartData(component);
|
|
51
|
-
|
|
52
|
-
expect(min).toEqual(0);
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
test('should equal the largest single value', () => {
|
|
56
|
-
let component = document.querySelector('iam-barchart');
|
|
57
|
-
let { max } = getChartData(component);
|
|
58
|
-
|
|
59
|
-
expect(max).toEqual(300);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
test('should have the class of .chart--fit-content added as there is less than 10 bars', () => {
|
|
63
|
-
let component = document.querySelector('iam-barchart');
|
|
64
|
-
expect(component.classList).toContain('chart--fit-content');
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
test('should have the class of .chart--no-scale added as there is less than 5 bars', () => {
|
|
68
|
-
let component = document.querySelector('iam-barchart');
|
|
69
|
-
expect(component.classList).toContain('chart--no-scale');
|
|
70
|
-
});
|
|
71
|
-
});
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import createDataLayer from '../modules/data-layer';
|
|
4
|
-
|
|
5
|
-
describe('createDataLayer', () => {
|
|
6
|
-
// Mocking the window object for testing
|
|
7
|
-
let mockDataLayer = [];
|
|
8
|
-
beforeEach(() => {
|
|
9
|
-
window.dataLayer = mockDataLayer;
|
|
10
|
-
document.title = 'Mock Page Title';
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('should push a "Pageview" event to dataLayer on function call', () => {
|
|
14
|
-
createDataLayer();
|
|
15
|
-
expect(window.dataLayer).toEqual([
|
|
16
|
-
{
|
|
17
|
-
event: 'Pageview',
|
|
18
|
-
pageTitle: 'Mock Page Title',
|
|
19
|
-
},
|
|
20
|
-
]);
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('should push a "closeDetails" event when the document click target has "open" attribute and is summary element', () => {
|
|
24
|
-
// Create a mock DOM structure with a summary element having the 'open' attribute
|
|
25
|
-
document.body.innerHTML = `
|
|
26
|
-
<details>
|
|
27
|
-
<summary open>Summary Text</summary>
|
|
28
|
-
</details>
|
|
29
|
-
`;
|
|
30
|
-
const summaryElement = document.querySelector('summary');
|
|
31
|
-
|
|
32
|
-
// Simulate the click event on the summary element
|
|
33
|
-
const clickEvent = new MouseEvent('click', {
|
|
34
|
-
bubbles: true,
|
|
35
|
-
cancelable: true,
|
|
36
|
-
});
|
|
37
|
-
summaryElement.dispatchEvent(clickEvent);
|
|
38
|
-
|
|
39
|
-
expect(window.dataLayer).toEqual([
|
|
40
|
-
{
|
|
41
|
-
event: 'Pageview',
|
|
42
|
-
pageTitle: 'Mock Page Title',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
event: 'openDetails',
|
|
46
|
-
detailsTitle: 'Summary Text',
|
|
47
|
-
},
|
|
48
|
-
]);
|
|
49
|
-
|
|
50
|
-
summaryElement.dispatchEvent(clickEvent);
|
|
51
|
-
expect(window.dataLayer).toEqual([
|
|
52
|
-
{
|
|
53
|
-
event: 'Pageview',
|
|
54
|
-
pageTitle: 'Mock Page Title',
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
event: 'openDetails',
|
|
58
|
-
detailsTitle: 'Summary Text',
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
event: 'closeDetails',
|
|
62
|
-
detailsTitle: 'Summary Text',
|
|
63
|
-
},
|
|
64
|
-
]);
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
// More test cases for other scenarios can be added here...
|
|
68
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import { getChartData } from '../modules/chart.module';
|
|
4
|
-
import puppeteer from 'puppeteer';
|
|
5
|
-
import 'expect-puppeteer';
|
|
6
|
-
|
|
7
|
-
import iamFileupload from '../components/fileupload/fileupload.component';
|
|
8
|
-
|
|
9
|
-
describe('The Fileupload component', () => {
|
|
10
|
-
if (!window.customElements.get(`iam-fileupload`)) window.customElements.define(`iam-fileupload`, iamFileupload);
|
|
11
|
-
|
|
12
|
-
document.body.innerHTML = `
|
|
13
|
-
<iam-fileupload>
|
|
14
|
-
<input type="file" name="files[]" accept=".pdf, .csv, .jpg, .png" multiple="multiple" />
|
|
15
|
-
</iam-fileupload>`;
|
|
16
|
-
|
|
17
|
-
test('should have a title in its UI', () => {
|
|
18
|
-
let component = document.querySelector('iam-fileupload');
|
|
19
|
-
let title = component?.shadowRoot.querySelector('.file-upload__title');
|
|
20
|
-
|
|
21
|
-
expect(title?.innerHTML).toContain('Upload file');
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
test('should have a button in its UI', () => {
|
|
25
|
-
let component = document.querySelector('iam-fileupload');
|
|
26
|
-
let button = component?.shadowRoot.querySelector('button');
|
|
27
|
-
|
|
28
|
-
expect(button?.innerHTML).toContain('Upload file');
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import { filterTheList } from '../modules/filterlist';
|
|
4
|
-
|
|
5
|
-
const listHTML = `
|
|
6
|
-
<li class="lead text-primary pb-1">Olivia Anderson</li>
|
|
7
|
-
<li class="lead text-primary pb-1">Ethan Ramirez</li>
|
|
8
|
-
<li class="lead text-primary pb-1">Sophia Patel</li>
|
|
9
|
-
<li class="lead text-primary pb-1">Noah Jenkins</li>
|
|
10
|
-
<li class="lead text-primary pb-1">Ava Thompson</li>
|
|
11
|
-
<li class="lead text-primary pb-1">Lucas Myers</li>
|
|
12
|
-
<li class="lead text-primary pb-1">Mia Carter</li>
|
|
13
|
-
<li class="lead text-primary pb-1">Benjamin Lee</li>
|
|
14
|
-
`;
|
|
15
|
-
|
|
16
|
-
describe('addDataAttributes', () => {
|
|
17
|
-
let list = document.createElement('div');
|
|
18
|
-
list.innerHTML = listHTML;
|
|
19
|
-
|
|
20
|
-
filterTheList(list, 'Lucas');
|
|
21
|
-
|
|
22
|
-
test('should add a class of d-none to each item except the one containing Lucas Myers', () => {
|
|
23
|
-
expect(list.querySelectorAll('li:not(.d-none)').length).toEqual(1);
|
|
24
|
-
expect(list.querySelector('li:not(.d-none)').textContent).toEqual('Lucas Myers');
|
|
25
|
-
});
|
|
26
|
-
});
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import { getChartData } from '../modules/chart.module';
|
|
4
|
-
import puppeteer from 'puppeteer';
|
|
5
|
-
import 'expect-puppeteer';
|
|
6
|
-
|
|
7
|
-
import iamMultiStep from '../components/multi-step/multi-step.component';
|
|
8
|
-
|
|
9
|
-
describe('The Multi-step component', () => {
|
|
10
|
-
if (!window.customElements.get(`iam-multi-step`)) window.customElements.define(`iam-multi-step`, iamMultiStep);
|
|
11
|
-
|
|
12
|
-
document.body.innerHTML = `
|
|
13
|
-
<iam-multi-step>
|
|
14
|
-
<form>
|
|
15
|
-
<span class="h3">Multi-step modal title</span>
|
|
16
|
-
|
|
17
|
-
<fieldset data-title="Personal details">
|
|
18
|
-
<div>
|
|
19
|
-
<label for="input1">Name 1</label>
|
|
20
|
-
<input type="text" id="input1" name="input1" placeholder="Optional placeholder text" required="" />
|
|
21
|
-
<span class="invalid-feedback">This field is required</span>
|
|
22
|
-
</div>
|
|
23
|
-
</fieldset>
|
|
24
|
-
<fieldset data-title="Property details">
|
|
25
|
-
<div>
|
|
26
|
-
<label for="input2">Name 2</label>
|
|
27
|
-
<input type="text" id="input2" name="input2" placeholder="Optional placeholder text" required="" />
|
|
28
|
-
<span class="invalid-feedback">This field is required</span>
|
|
29
|
-
</div>
|
|
30
|
-
</fieldset>
|
|
31
|
-
<fieldset data-title="Location">
|
|
32
|
-
<div>
|
|
33
|
-
<label for="input3">Name 3</label>
|
|
34
|
-
<input
|
|
35
|
-
type="text"
|
|
36
|
-
id="input3"
|
|
37
|
-
name="input3"
|
|
38
|
-
placeholder="Optional placeholder text"
|
|
39
|
-
required=""
|
|
40
|
-
class="is-invalid"
|
|
41
|
-
/>
|
|
42
|
-
<span class="invalid-feedback">This field is required</span>
|
|
43
|
-
</div>
|
|
44
|
-
</fieldset>
|
|
45
|
-
<fieldset data-title="Submit property">
|
|
46
|
-
<div>
|
|
47
|
-
<label for="input4">Name 4</label>
|
|
48
|
-
<input type="text" id="input4" name="input4" placeholder="Optional placeholder text" required="" />
|
|
49
|
-
<span class="invalid-feedback">This field is required</span>
|
|
50
|
-
</div>
|
|
51
|
-
</fieldset>
|
|
52
|
-
<button class="btn btn-primary colour-success" type="submit">Register</button>
|
|
53
|
-
</form>
|
|
54
|
-
|
|
55
|
-
</iam-multi-step>`;
|
|
56
|
-
|
|
57
|
-
test('should add the active class to the first fieldset element', () => {
|
|
58
|
-
let component = document.querySelector('iam-multi-step');
|
|
59
|
-
let fieldset = component.querySelector('fieldset');
|
|
60
|
-
|
|
61
|
-
expect(fieldset.classList).toContain('active');
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
test('should have a next button added to each fieldset element', () => {
|
|
65
|
-
let component = document.querySelector('iam-multi-step');
|
|
66
|
-
let fieldset = component.querySelector('fieldset');
|
|
67
|
-
let button = fieldset.querySelector('.btn--wrapper button[data-next]');
|
|
68
|
-
|
|
69
|
-
expect(button?.innerHTML).toContain('Next');
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
test('should have a steps list created using the data-title attributes for content', () => {
|
|
73
|
-
let component = document.querySelector('iam-multi-step');
|
|
74
|
-
let button = component?.shadowRoot.querySelector('.steps button');
|
|
75
|
-
|
|
76
|
-
expect(button?.innerHTML).toContain('Personal details');
|
|
77
|
-
});
|
|
78
|
-
});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import * as tableModule from '../modules/table';
|
|
4
|
-
import puppeteer from 'puppeteer';
|
|
5
|
-
import 'expect-puppeteer';
|
|
6
|
-
|
|
7
|
-
import iamSlider from '../components/slider/slider.component';
|
|
8
|
-
|
|
9
|
-
describe('The slider component', () => {
|
|
10
|
-
if (!window.customElements.get(`iam-slider`)) window.customElements.define(`iam-slider`, iamSlider);
|
|
11
|
-
|
|
12
|
-
test('should always show the minimum and maximum values that it can be set', () => {
|
|
13
|
-
document.body.innerHTML = `<label>Input field label <iam-slider><input type="number" name="percent" min="0" max="100" value="15" step="1" /></iam-slider></label>`;
|
|
14
|
-
let component = document.querySelector('iam-slider');
|
|
15
|
-
|
|
16
|
-
expect(component.shadowRoot.innerHTML).toContain('<div class="col min pe-2">0</div>');
|
|
17
|
-
expect(component.shadowRoot.innerHTML).toContain('<div class="col max ps-2">100</div>');
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
test('should always have a secondary way of inputing the value i.e. a number input field', () => {
|
|
21
|
-
document.body.innerHTML = `<label>Input field label <iam-slider><input type="number" name="percent" min="0" max="100" value="15" step="1" /></iam-slider></label>`;
|
|
22
|
-
let component = document.querySelector('iam-slider');
|
|
23
|
-
|
|
24
|
-
expect(component.querySelectorAll('input[type="number"]').length).toEqual(1);
|
|
25
|
-
expect(component.shadowRoot.querySelectorAll('input[type="range"]').length).toEqual(1);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import * as tableModule from '../modules/table';
|
|
4
|
-
import puppeteer from 'puppeteer';
|
|
5
|
-
import 'expect-puppeteer';
|
|
6
|
-
|
|
7
|
-
const basicTable = `<thead>
|
|
8
|
-
<tr>
|
|
9
|
-
<th>Heading 1</th>
|
|
10
|
-
<th>Heading 2</th>
|
|
11
|
-
<th>Heading 3</th>
|
|
12
|
-
<th>Heading 4</th>
|
|
13
|
-
<th>Heading 5</th>
|
|
14
|
-
<th>Heading 6</th>
|
|
15
|
-
</tr>
|
|
16
|
-
</thead>
|
|
17
|
-
<tbody>
|
|
18
|
-
<tr>
|
|
19
|
-
<td>Cell 1</td>
|
|
20
|
-
<td>Low</td>
|
|
21
|
-
<td>Cell 3</td>
|
|
22
|
-
<td>Cell 4</td>
|
|
23
|
-
<td>Cell 5</td>
|
|
24
|
-
<td>Cell 6</td>
|
|
25
|
-
</tr>
|
|
26
|
-
<tr>
|
|
27
|
-
<td>Cell 1</td>
|
|
28
|
-
<td>Low</td>
|
|
29
|
-
<td><a href="/link">View information</a></td>
|
|
30
|
-
<td>Cell 4</td>
|
|
31
|
-
<td>Cell 5</td>
|
|
32
|
-
<td>Cell 6</td>
|
|
33
|
-
</tr>
|
|
34
|
-
<tr>
|
|
35
|
-
<td>Different Cell 1</td>
|
|
36
|
-
<td>Medium</td>
|
|
37
|
-
<td><a href="/link">View information</a></td>
|
|
38
|
-
<td>Cell 4</td>
|
|
39
|
-
<td>Cell 5</td>
|
|
40
|
-
<td>Cell 6</td>
|
|
41
|
-
</tr>
|
|
42
|
-
<tr>
|
|
43
|
-
<td>Different Cell 1</td>
|
|
44
|
-
<td>High</td>
|
|
45
|
-
<td><a href="/link">View information</a></td>
|
|
46
|
-
<td>Cell 4</td>
|
|
47
|
-
<td>Cell 5</td>
|
|
48
|
-
<td>Cell 6</td>
|
|
49
|
-
</tr>
|
|
50
|
-
</tbody>`;
|
|
51
|
-
|
|
52
|
-
describe('addDataAttributes', () => {
|
|
53
|
-
const table = document.createElement('table');
|
|
54
|
-
table.innerHTML = basicTable;
|
|
55
|
-
|
|
56
|
-
tableModule.addDataAttributes(table);
|
|
57
|
-
|
|
58
|
-
test('should add data-label attribute to the table cells', () => {
|
|
59
|
-
expect(table.querySelector('tbody td').getAttribute('data-label')).toEqual('Heading 1');
|
|
60
|
-
expect(table.querySelector('tbody td:nth-child(2)').getAttribute('data-label')).toEqual('Heading 2');
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
test('should add data-content attribute to the table cells if the content matches a pre-defined list', () => {
|
|
64
|
-
expect(table.querySelector('tbody tr:nth-child(2) td:nth-child(2)').getAttribute('data-content')).toEqual('low');
|
|
65
|
-
expect(table.querySelector('tbody tr:nth-child(3) td:nth-child(2)').getAttribute('data-content')).toEqual('medium');
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
describe('sortTable', () => {
|
|
70
|
-
const table = document.createElement('table');
|
|
71
|
-
table.innerHTML = basicTable;
|
|
72
|
-
const form = document.createElement('form');
|
|
73
|
-
form.innerHTML += `<div><select type="select" name="sort" id="sort" class="form-select" data-sort=""><option value="-1">Sort by</option><option value="high" data-sort="Heading 2" data-order="High,Medium,Low" selected="selected">high to low</option></select></div>`;
|
|
74
|
-
const savedTableBody = table.querySelector('tbody');
|
|
75
|
-
|
|
76
|
-
tableModule.addDataAttributes(table);
|
|
77
|
-
tableModule.sortTable(table, form, savedTableBody);
|
|
78
|
-
|
|
79
|
-
test('should sort the table from high to low', () => {
|
|
80
|
-
expect(table.querySelector('tbody tr:nth-child(1) td:nth-child(2)').textContent).toEqual('High');
|
|
81
|
-
expect(table.querySelector('tbody tr:nth-child(2) td:nth-child(2)').textContent).toEqual('Medium');
|
|
82
|
-
expect(table.querySelector('tbody tr:nth-child(3) td:nth-child(2)').textContent).toEqual('Low');
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
describe('formatCell', () => {
|
|
87
|
-
test('should format the text correctly', () => {
|
|
88
|
-
expect(tableModule.formatCell('date', '2023-05-15 12:10:45.000000')).toEqual('15 May 23');
|
|
89
|
-
expect(tableModule.formatCell('capitalise', 'low')).toEqual('Low');
|
|
90
|
-
});
|
|
91
|
-
});
|