1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
<!DOCTYPE HTML>
<html>
<!--
Test the completion-error-page component
-->
<head>
<meta charset="utf-8">
<title>Test the completion-error-page component</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script src="payments_common.js"></script>
<script src="../../res/unprivileged-fallbacks.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<p id="display">
<completion-error-page id="completion-timeout-error" class="illustrated"
data-page-title="Sample Title"
data-suggestion-heading="Sample suggestion heading"
data-suggestion-1="Sample suggestion"
data-suggestion-2="Sample suggestion"
data-suggestion-3="Sample suggestion"
data-branding-label="Sample Brand"
data-done-button-label="OK"></completion-error-page>
</p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
<script type="module">
/** Test the completion-error-page component **/
import "../../res/containers/completion-error-page.js";
let page = document.getElementById("completion-timeout-error");
add_task(async function test_no_values() {
ok(page, "page exists");
is(page.dataset.pageTitle, "Sample Title", "Title set on page");
is(page.dataset.suggestionHeading, "Sample suggestion heading",
"Suggestion heading set on page");
is(page.dataset["suggestion-1"], "Sample suggestion",
"Suggestion 1 set on page");
is(page.dataset["suggestion-2"], "Sample suggestion",
"Suggestion 2 set on page");
is(page.dataset["suggestion-3"], "Sample suggestion",
"Suggestion 3 set on page");
is(page.dataset.brandingLabel, "Sample Brand", "Branding string set");
page.dataset.pageTitle = "Oh noes! **host-name** is having an issue";
page.dataset["suggestion-2"] = "You should probably blame **host-name**, not us";
const displayHost = "allizom.com";
let request = { topLevelPrincipal: { URI: { displayHost } } };
await page.requestStore.setState({
changesPrevented: false,
request: Object.assign({}, request, {completeStatus: ""}),
orderDetailsShowing: false,
page: {
id: "completion-timeout-error",
},
});
await asyncElementRendered();
is(page.requestStore.getState().request.topLevelPrincipal.URI.displayHost, displayHost,
"State should have the displayHost set properly");
is(page.querySelector("h2").textContent,
`Oh noes! ${displayHost} is having an issue`,
"Title includes host-name");
is(page.querySelector("p").textContent,
"Sample suggestion heading",
"Suggestion heading set on page");
is(page.querySelector("li:nth-child(1)").textContent, "Sample suggestion",
"Suggestion 1 set on page");
is(page.querySelector("li:nth-child(2)").textContent,
`You should probably blame ${displayHost}, not us`,
"Suggestion 2 includes host-name");
is(page.querySelector(".branding").textContent,
"Sample Brand",
"Branding set on page");
is(page.querySelector(".primary").textContent,
"OK",
"Primary button label set correctly");
});
</script>
</body>
</html>
|