@sapudex/web-components 2.0.0 → 2.1.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.
- package/cypress/fixtures/footer-links.ts +221 -0
- package/cypress/specs/Checkbox.cy.tsx +92 -0
- package/cypress/specs/CountrySelector.cy.tsx +215 -0
- package/cypress/specs/Footer.cy.tsx +313 -0
- package/cypress/specs/PhoneNumberField.cy.tsx +2 -2
- package/cypress/specs/Table.cy.tsx +361 -0
- package/cypress/specs/TextField.cy.tsx +4 -0
- package/cypress/specs/Tooltip.cy.tsx +26 -0
- package/cypress/specs/Upload.cy.tsx +20 -3
- package/dist/AssetsVariables.js +1 -1
- package/dist/AssetsVariables.js.map +1 -1
- package/dist/Checkbox.d.ts +17 -0
- package/dist/Checkbox.js +36 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/FilterMenu.d.ts +7 -0
- package/dist/FilterMenu.js +3 -0
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Link.d.ts +3 -4
- package/dist/Link.js +4 -5
- package/dist/Link.js.map +1 -1
- package/dist/MastheadItem.d.ts +21 -2
- package/dist/MastheadItem.js +95 -13
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +1 -0
- package/dist/MastheadMenu.js +11 -5
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMobileMenu.d.ts +8 -2
- package/dist/MastheadMobileMenu.js +8 -2
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +24 -12
- package/dist/MastheadShell.js +75 -26
- package/dist/MastheadShell.js.map +1 -1
- package/dist/PasswordField.d.ts +10 -0
- package/dist/PasswordField.js +14 -0
- package/dist/PasswordField.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +1 -0
- package/dist/PhoneNumberField.js +15 -1
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/RadioButton.d.ts +1 -0
- package/dist/RadioButton.js +1 -0
- package/dist/RadioButton.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +6 -5
- package/dist/SecondaryNavigation.js +8 -6
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +9 -6
- package/dist/SecondaryNavigationItem.js +19 -13
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +8 -4
- package/dist/SecondaryNavigationSubItem.js +6 -5
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/Table.d.ts +1 -1
- package/dist/Table.js +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/TextField.d.ts +8 -0
- package/dist/TextField.js +15 -0
- package/dist/TextField.js.map +1 -1
- package/dist/Tooltip.d.ts +5 -0
- package/dist/Tooltip.js +11 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/Upload.d.ts +12 -2
- package/dist/Upload.js +25 -1
- package/dist/Upload.js.map +1 -1
- package/dist/assets/{InputSuggestions-pMcXiozG.js → InputSuggestions-CP3cBQsh.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-BoB9C9hl.js → ListItemStandardExpandableTextTemplate-CLBtdbBK.js} +1 -1
- package/dist/assets/bundle-C9ZlnwwH.css +1 -0
- package/dist/assets/{bundle.esm-4ejJpC9l.js → bundle.esm-jHcdiVfj.js} +224 -224
- package/dist/assets/messagebundle_en-CVKgy_9L.js +1 -0
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Checkbox.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/Tooltip.css +1 -1
- package/dist/css/themes/Upload.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/custom-elements-internal.json +204 -12
- package/dist/custom-elements.json +165 -8
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
- package/dist/generated/i18n/i18n-defaults.js +4 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +6 -5
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/UploadTemplate.lit.js +2 -2
- package/dist/generated/templates/UploadTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Checkbox.css.d.ts +1 -1
- package/dist/generated/themes/Checkbox.css.js +1 -1
- package/dist/generated/themes/Checkbox.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Search.css.d.ts +1 -1
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/Tooltip.css.d.ts +1 -1
- package/dist/generated/themes/Tooltip.css.js +1 -1
- package/dist/generated/themes/Tooltip.css.js.map +1 -1
- package/dist/generated/themes/Upload.css.d.ts +1 -1
- package/dist/generated/themes/Upload.css.js +1 -1
- package/dist/generated/themes/Upload.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.d.ts +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/messagebundle.properties +9 -1
- package/dist/messagebundle_en.properties +4 -1
- package/dist/vscode.html-custom-data.json +29 -4
- package/dist/web-types.json +113 -11
- package/package.json +1 -1
- package/src/AssetsVariables.ts +1 -1
- package/src/Checkbox.ts +47 -0
- package/src/FilterMenu.hbs +2 -0
- package/src/FilterMenu.ts +8 -0
- package/src/Link.ts +4 -5
- package/src/MastheadItem.hbs +2 -2
- package/src/MastheadItem.ts +119 -15
- package/src/MastheadMenu.hbs +4 -1
- package/src/MastheadMenu.ts +12 -5
- package/src/MastheadMobileMenu.hbs +2 -2
- package/src/MastheadMobileMenu.ts +16 -3
- package/src/MastheadShell.hbs +14 -3
- package/src/MastheadShell.ts +98 -36
- package/src/PasswordField.hbs +1 -0
- package/src/PasswordField.ts +14 -0
- package/src/PhoneNumberField.ts +19 -1
- package/src/RadioButton.ts +1 -0
- package/src/SecondaryNavigation.ts +14 -10
- package/src/SecondaryNavigationItem.hbs +1 -1
- package/src/SecondaryNavigationItem.ts +25 -16
- package/src/SecondaryNavigationSubItem.ts +13 -7
- package/src/Table.ts +2 -2
- package/src/TextField.hbs +2 -0
- package/src/TextField.ts +16 -0
- package/src/Tooltip.ts +19 -0
- package/src/Upload.hbs +4 -4
- package/src/Upload.ts +24 -3
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadItemTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadShellTemplate.lit.ts +6 -5
- package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -1
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +1 -1
- package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
- package/src/generated/templates/UploadTemplate.lit.ts +2 -2
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/Checkbox.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/RadioButton.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/Tooltip.css.ts +1 -1
- package/src/generated/themes/Upload.css.ts +1 -1
- package/src/generated/themes/WizardTab.css.ts +1 -1
- package/src/i18n/messagebundle.properties +9 -1
- package/src/i18n/messagebundle_en.properties +4 -1
- package/src/themes/Button.css +9 -5
- package/src/themes/Checkbox.css +15 -1
- package/src/themes/MastheadItem.css +9 -3
- package/src/themes/RadioButton.css +2 -0
- package/src/themes/Search.css +1 -0
- package/src/themes/Tooltip.css +1 -1
- package/src/themes/Upload.css +10 -2
- package/src/themes/WizardTab.css +5 -0
- package/dist/assets/bundle-7XIcgsQH.css +0 -1
- package/dist/assets/messagebundle_en-BYIX4tmE.js +0 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import UDExFooter from "../../src/Footer.js";
|
|
2
|
+
import { quickLinks, trendingLinks, aboutLinks, siteInformationLinks, socialLinks } from "../fixtures/footer-links.js";
|
|
3
|
+
import { setLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
|
|
4
|
+
|
|
5
|
+
const defaultFooter = <UDExFooter
|
|
6
|
+
id="footer"
|
|
7
|
+
logoLink="#test"
|
|
8
|
+
logoTitle="SAP Title"
|
|
9
|
+
logoAriaLabel="SAP Homepage"
|
|
10
|
+
logoUrl='./assets/sap-logo.svg'
|
|
11
|
+
contactNumbersList='[{"country":"France","number":"400-619-0727"},{"country":"United State","number":"1-800-872-1727"}]'
|
|
12
|
+
localCountryNumbersLink='#'
|
|
13
|
+
chatWithUsLink='#'
|
|
14
|
+
quickLinks={JSON.stringify(quickLinks)}
|
|
15
|
+
trendingLinks = {JSON.stringify(trendingLinks)}
|
|
16
|
+
aboutLinks = {JSON.stringify(aboutLinks)}
|
|
17
|
+
siteInformationLinks = {JSON.stringify(siteInformationLinks)}
|
|
18
|
+
socialLinks = {JSON.stringify(socialLinks)}
|
|
19
|
+
contactUsLink='#'>
|
|
20
|
+
</UDExFooter>
|
|
21
|
+
|
|
22
|
+
describe("Footer", () => {
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
cy.mount(defaultFooter)
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("is correctly rendered", () => {
|
|
28
|
+
cy.get("#footer").shadow().find(".udex-footer").should("be.visible")
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("renders phone numbers", () => {
|
|
32
|
+
cy.get("#footer").shadow().find(".udex-footer__number").first().should("have.text", "400-619-0727")
|
|
33
|
+
cy.get("#footer").shadow().find(".udex-footer__number").eq(1).should("have.text", "1-800-872-1727")
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it("renders contact link", () => {
|
|
37
|
+
cy.get("#footer").shadow().find(".udex-footer__contact-us-link").first().should("have.attr", "href", "#")
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it("renders chat link", () => {
|
|
41
|
+
cy.get("#footer").shadow().find(".udex-footer__chat-with-us-link").first().should("have.attr", "href", "#")
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("renders quick link target", () => {
|
|
45
|
+
cy.get("#footer").shadow().find(".udex-footer__quick-links a").should("have.attr", "target", "_blank")
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it("renders trending link target", () => {
|
|
49
|
+
cy.get("#footer").shadow().find(".udex-footer__trending-links a").should("have.attr", "target", "_self")
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it("renders site about sap link target", () => {
|
|
53
|
+
cy.get("#footer").shadow().find(".udex-footer__about-links a").first().should("have.attr", "target", "_top")
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it("renders site information link target", () => {
|
|
57
|
+
cy.get("#footer").shadow().find(".udex-footer__site-information-links a").first().should("have.attr", "target", "_parent")
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it("renders social link target", () => {
|
|
61
|
+
cy.get("#footer").shadow().find(".udex-footer__social-container a").first().should("have.attr", "target", "_blank")
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it("renders all social links", () => {
|
|
65
|
+
cy.get("#footer").shadow().find(".udex-footer__social-container a").should("have.length", 6)
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("renders copyright", () => {
|
|
69
|
+
cy.get("#footer").shadow().find(".udex-footer__copyright-text").first().should("have.text", "© 2025 SAP SE or an SAP affiliate company. All rights reserved.")
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it("renders chinese text when specified in url", () => {
|
|
73
|
+
setLanguage("zh_cn")
|
|
74
|
+
cy.mount(defaultFooter)
|
|
75
|
+
cy.get("#footer").shadow().find(".udex-footer__copyright-chinese-text").should("have.text", "ICP_NUMBER PUBLIC_SECURITY_NETWORK_NUMBER")
|
|
76
|
+
cy.get("#footer").shadow().find(".udex-footer__copyright-chinese-link").should("have.attr", "href", "https://beian.miit.gov.cn/")
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
describe("Desktop tests", () => {
|
|
80
|
+
beforeEach(() => {
|
|
81
|
+
cy.viewport(1920, 1080);
|
|
82
|
+
cy.mount(defaultFooter)
|
|
83
|
+
cy.on('window:alert', () => false)
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it("renders links holder", () => {
|
|
87
|
+
cy.get("#footer").shadow().find(".udex-footer__links").should("be.visible")
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
it("does not render accordion", () => {
|
|
91
|
+
cy.get("#footer").shadow().find("udex-accordion").should("not.exist");
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it("renders all quick links", () => {
|
|
95
|
+
cy.get("#footer").shadow().find(".udex-footer__quick-links .udex-footer__links-list--desktop li").should("have.length", 6)
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it("renders all trending links", () => {
|
|
99
|
+
cy.get("#footer").shadow().find(".udex-footer__trending-links .udex-footer__links-list--desktop li").should("have.length", 8)
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it("renders site aboout sap links", () => {
|
|
103
|
+
cy.get("#footer").shadow().find(".udex-footer__about-links .udex-footer__links-list--desktop li").should("have.length", 8)
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
it("renders site information links", () => {
|
|
107
|
+
cy.get("#footer").shadow().find(".udex-footer__site-information-links .udex-footer__links-list--desktop li").should("have.length", 7)
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
it("sets data-id attribute to quick links", () => {
|
|
111
|
+
cy.get("#footer").shadow().find(".udex-footer__quick-links a").each(($quickLink, index) => {
|
|
112
|
+
expect($quickLink[0]).attr("data-id").eqls(quickLinks[index].id)
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
it("sets data-id attribute to trending links", () => {
|
|
117
|
+
cy.get("#footer").shadow().find(".udex-footer__trending-links a").each(($trendingLink, index) => {
|
|
118
|
+
if($trendingLink[0].hasAttribute("data-id")) {
|
|
119
|
+
expect($trendingLink[0]).attr("data-id").eqls(trendingLinks[index].id)
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it("sets data-id attribute to about links", () => {
|
|
125
|
+
cy.get("#footer").shadow().find(".udex-footer__about-links a").each(($aboutLink, index) => {
|
|
126
|
+
if($aboutLink[0].hasAttribute("data-id")) {
|
|
127
|
+
expect($aboutLink[0]).attr("data-id").eqls(aboutLinks[index].id)
|
|
128
|
+
}
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
it("sets data-id attribute to site information links", () => {
|
|
133
|
+
cy.get("#footer").shadow().find(".udex-footer__site-information-links a").each(($siteLink, index) => {
|
|
134
|
+
if($siteLink[0].hasAttribute("data-id")) {
|
|
135
|
+
expect($siteLink[0]).attr("data-id").eqls(siteInformationLinks[index].id)
|
|
136
|
+
}
|
|
137
|
+
})
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it("sets data-id attribute to social links", () => {
|
|
141
|
+
cy.get("#footer").shadow().find(".udex-footer__social-container a").each(($socialLink, index) => {
|
|
142
|
+
expect($socialLink[0]).attr("data-id").eqls(socialLinks[index].id)
|
|
143
|
+
})
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
it("corectly renders default logo title", () => {
|
|
147
|
+
cy.get("#footer").shadow().find(".udex-footer__logo a").should("have.attr", "title", "SAP Title")
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
it("sets aria-label for logo link", () => {
|
|
151
|
+
cy.get("#footer").shadow().find(".udex-footer__logo a").should("have.attr", "aria-label", "SAP Homepage")
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it("emits \"ui5-logo-click\" when clicking on logo", () => {
|
|
155
|
+
const logoClickHandler = cy.stub().as("logoClickHandler")
|
|
156
|
+
cy.get("#footer").then($footer =>
|
|
157
|
+
$footer[0].addEventListener("logo-click", logoClickHandler)
|
|
158
|
+
).shadow().find(".udex-footer__logo a").click()
|
|
159
|
+
|
|
160
|
+
cy.get("@logoClickHandler").should("have.been.called")
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
it("emits \"ui5-back-to-top-click\" when clicking on back button", () => {
|
|
164
|
+
const backToTopHandler = cy.stub().as("backToTopHandler")
|
|
165
|
+
cy.get("#footer").then($footer =>
|
|
166
|
+
$footer[0].addEventListener("back-to-top-click", backToTopHandler)
|
|
167
|
+
).shadow().find(".udex-footer__back-to-top-button").click()
|
|
168
|
+
|
|
169
|
+
cy.get("@backToTopHandler").should("have.been.called")
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
it("emits \"ui5-back-to-top-click\" when clicking on back button", () => {
|
|
173
|
+
const backToTopHandler = cy.stub().as("backToTopHandler")
|
|
174
|
+
cy.get("#footer").then($footer =>
|
|
175
|
+
$footer[0].addEventListener("back-to-top-click", backToTopHandler)
|
|
176
|
+
).shadow().find(".udex-footer__back-to-top-button").click()
|
|
177
|
+
|
|
178
|
+
cy.get("@backToTopHandler").should("have.been.called")
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
it("emits \"contact-email-click\" when clicking on email", () => {
|
|
183
|
+
const contactEmailClickHandler = cy.stub().as("contactEmailHandler")
|
|
184
|
+
cy.get("#footer").then($footer =>
|
|
185
|
+
$footer[0].addEventListener("contact-email-click", contactEmailClickHandler)
|
|
186
|
+
).shadow().find(".udex-footer__contact-us-link").then($emailLink => {
|
|
187
|
+
$emailLink[0].removeAttribute("href")
|
|
188
|
+
}).click()
|
|
189
|
+
|
|
190
|
+
cy.get("@contactEmailHandler").should("have.been.called")
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
it("emits \"ui5-contact-chat-click\" when click on chat link", () => {
|
|
194
|
+
const contactChatClickHandler = cy.stub().as("contactChatClickHandler")
|
|
195
|
+
cy.get("#footer").then($footer =>
|
|
196
|
+
$footer[0].addEventListener("contact-chat-click", contactChatClickHandler)
|
|
197
|
+
).shadow().find(".udex-footer__chat-with-us a").click()
|
|
198
|
+
|
|
199
|
+
cy.get("@contactChatClickHandler").should("have.been.called")
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
it("emits \"ui5-quick-links-click\" when click on quick links", () => {
|
|
203
|
+
const expectedDetails = {
|
|
204
|
+
name: "Cloud Solutions",
|
|
205
|
+
id: "cloud"
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
const quickLinksClickHandler = cy.stub().as("quickLinksHandler")
|
|
209
|
+
cy.get("#footer").then($footer =>
|
|
210
|
+
$footer[0].addEventListener("quick-links-click", quickLinksClickHandler)
|
|
211
|
+
).shadow().find(".udex-footer__quick-links a").first().click()
|
|
212
|
+
|
|
213
|
+
cy.get("@quickLinksHandler").should("have.been.called").its("lastCall.args.0.detail").should("include", expectedDetails)
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
it("emits \"ui5-trending-click\" when click on trending links", () => {
|
|
217
|
+
const expectedDetails = {
|
|
218
|
+
name: "What is Grow?",
|
|
219
|
+
id: "whatIsGrow"
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
const trendingLinksClickHandler = cy.stub().as("trendingLinksHandler")
|
|
223
|
+
cy.get("#footer").then($footer =>
|
|
224
|
+
$footer[0].addEventListener("trending-click", trendingLinksClickHandler)
|
|
225
|
+
).shadow().find(".udex-footer__trending-links a").first().then($trendingLink => {
|
|
226
|
+
$trendingLink[0].removeAttribute("href")
|
|
227
|
+
}).click()
|
|
228
|
+
|
|
229
|
+
cy.get("@trendingLinksHandler").should("have.been.called").its("lastCall.args.0.detail").should("include", expectedDetails)
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
it("emits \"ui5-about-sap-click\" when click on about links", () => {
|
|
233
|
+
const expectedDetails = {
|
|
234
|
+
name: "Company Information",
|
|
235
|
+
id: "company"
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const aboutSapClickHandler = cy.stub().as("aboutSapHandler")
|
|
239
|
+
cy.get("#footer").then($footer =>
|
|
240
|
+
$footer[0].addEventListener("about-sap-click", aboutSapClickHandler)
|
|
241
|
+
).shadow().find(".udex-footer__about-links a").first().then($aboutLink => {
|
|
242
|
+
$aboutLink[0].removeAttribute("href")
|
|
243
|
+
}).click()
|
|
244
|
+
|
|
245
|
+
cy.get("@aboutSapHandler").should("have.been.called").its("lastCall.args.0.detail").should("include", expectedDetails)
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
it("emits \"ui5-site-information-click\" when click on information links", () => {
|
|
249
|
+
const expectedDetails = {
|
|
250
|
+
name: "Privacy",
|
|
251
|
+
id: "privacy"
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
const siteInfoClickHandler = cy.stub().as("siteInfoClickHandler")
|
|
255
|
+
|
|
256
|
+
cy.get("#footer").then($footer =>
|
|
257
|
+
$footer[0].addEventListener("site-information-click", siteInfoClickHandler)
|
|
258
|
+
).shadow().find(".udex-footer__site-information-links a").first().then($siteInfoLink => {
|
|
259
|
+
$siteInfoLink[0].removeAttribute("href")
|
|
260
|
+
}).click()
|
|
261
|
+
|
|
262
|
+
cy.get("@siteInfoClickHandler").should("have.been.called").its("lastCall.args.0.detail").should("include", expectedDetails)
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
it("emits \"contact-phone-local-numbers-click\" when click on social links", () => {
|
|
266
|
+
const localPhoneCickHandler = cy.stub().as("localPhoneHandler")
|
|
267
|
+
|
|
268
|
+
cy.get("#footer").then($footer =>
|
|
269
|
+
$footer[0].addEventListener("contact-phone-local-numbers-click", localPhoneCickHandler)
|
|
270
|
+
).shadow().find(".udex-footer__remark-link").then($localPhoneLink => {
|
|
271
|
+
$localPhoneLink[0].removeAttribute("href")
|
|
272
|
+
}).click()
|
|
273
|
+
|
|
274
|
+
cy.get("@localPhoneHandler").should("have.been.called")
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
it("emits \"ui5-social-media-link-click\" when click on social links", () => {
|
|
278
|
+
const expectedDetails = {
|
|
279
|
+
name: "facebook",
|
|
280
|
+
id: "facebookId"
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
const socialMediaLinkCickHandler = cy.stub().as("socialMediaLinkHandler")
|
|
284
|
+
|
|
285
|
+
cy.get("#footer").then($footer =>
|
|
286
|
+
$footer[0].addEventListener("social-media-link-click", socialMediaLinkCickHandler)
|
|
287
|
+
).shadow().find(".udex-footer__social-container a").first().then($socialLink => {
|
|
288
|
+
$socialLink[0].removeAttribute("href")
|
|
289
|
+
}).click()
|
|
290
|
+
|
|
291
|
+
cy.get("@socialMediaLinkHandler").should("have.been.called").its("lastCall.args.0.detail").should("include", expectedDetails)
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
describe("Mobile tests", () => {
|
|
296
|
+
beforeEach(() => {
|
|
297
|
+
cy.viewport(900, 1080)
|
|
298
|
+
cy.mount(defaultFooter)
|
|
299
|
+
});
|
|
300
|
+
|
|
301
|
+
it("renders accordion", () => {
|
|
302
|
+
cy.get("#footer").shadow().find("udex-accordion").should("exist")
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
it("does not render links holder", () => {
|
|
306
|
+
cy.get("#footer").shadow().find(".udex-footer__links").should("not.exist")
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
it("tests if mobile view is correctly rendered", () => {
|
|
310
|
+
cy.get("#footer").shadow().find("udex-accordion-item.udex-footer__action-item").should("exist")
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
});
|
|
@@ -118,12 +118,12 @@ describe("PhoneNumberField", () => {
|
|
|
118
118
|
|
|
119
119
|
it("check that the maxlength and formatting is applied correctly", () => {
|
|
120
120
|
cy.mount(defaultPhoneNumberField)
|
|
121
|
-
cy.get("#default").shadow().find("input").type("+380123456789123456").should("have.value", "+380 12345
|
|
121
|
+
cy.get("#default").shadow().find("input").type("+380123456789123456").should("have.value", "+380 12345 6789123")
|
|
122
122
|
});
|
|
123
123
|
|
|
124
124
|
it("check that the phone format with brackets is applied correctly", () => {
|
|
125
125
|
cy.mount(defaultPhoneNumberField)
|
|
126
|
-
cy.get("#default").shadow().find("input").type(`+180123456789123456`).should("have.value", "+1 (801) 234-
|
|
126
|
+
cy.get("#default").shadow().find("input").type(`+180123456789123456`).should("have.value", "+1 (801) 234-56789123");
|
|
127
127
|
});
|
|
128
128
|
|
|
129
129
|
it("emit input when the value of the component changes", () => {
|