Skip to content

Commit 9900e5e

Browse files
authored
Merge pull request #308 from os2display/feature/5317-calendar-tests
Calendar tests
2 parents ac27a69 + 0096379 commit 9900e5e

File tree

3 files changed

+260
-19
lines changed

3 files changed

+260
-19
lines changed

assets/template/fixtures/slide-fixtures.js

Lines changed: 102 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -283,14 +283,39 @@ const slideFixtures = [
283283
resourceAvailableText: "Lokalet er frit.",
284284
displayHeaders: true,
285285
resourceUnavailableText: "Det er optaget",
286-
// image: ["/v1/media/00000000000000000000000001"],
287286
image: [],
288287
footerText: "Se mere på localhost/events",
289288
fontSize: "font-size-m",
290289
},
291290
},
292291
{
293-
id: "calendar-1-multiple",
292+
id: "calendar-1-multiple-days",
293+
templateData: {
294+
id: "01FRJPF4XATRN8PBZ35XN84PS6",
295+
},
296+
themeFile: null,
297+
feedData: [],
298+
mediaData: {
299+
"/v1/media/00000000000000000000000001": {
300+
assets: {
301+
uri: "/fixtures/template/images/mountain1.jpeg",
302+
},
303+
},
304+
},
305+
content: {
306+
duration: 5000,
307+
// Options: multiple|multipleDays|single
308+
layout: "multipleDays",
309+
hasDateAndTime: false,
310+
title: "Kalender",
311+
subTitle: "Underoverskrift",
312+
displayHeaders: false,
313+
image: ["/v1/media/00000000000000000000000001"],
314+
fontSize: "font-size-xl",
315+
},
316+
},
317+
{
318+
id: "calendar-0-multiple",
294319
templateData: {
295320
id: "01FRJPF4XATRN8PBZ35XN84PS6",
296321
},
@@ -446,15 +471,62 @@ const slideFixtures = [
446471
resourceAvailableText: "Lokalet er frit.",
447472
displayHeaders: true,
448473
resourceUnavailableText: "Det er optaget",
449-
// image: ["/v1/media/00000000000000000000000001"],
450474
footerText: "Se mere på localhost/events",
451475
dateAsBox: false,
452476
hideGrid: true,
453477
fontSize: "font-size-xl",
454478
},
455479
},
456480
{
457-
id: "calendar-2-single",
481+
id: "calendar-1-multiple",
482+
templateData: {
483+
id: "01FRJPF4XATRN8PBZ35XN84PS6",
484+
},
485+
themeFile: null,
486+
feedData: [],
487+
mediaData: {
488+
"/v1/media/00000000000000000000000001": {
489+
assets: {
490+
uri: "/fixtures/template/images/mountain1.jpeg",
491+
},
492+
},
493+
},
494+
content: {
495+
image: ["/v1/media/00000000000000000000000001"],
496+
duration: 5000,
497+
layout: "multiple",
498+
hasDateAndTime: true,
499+
displayHeaders: true,
500+
hideGrid: false,
501+
fontSize: "font-size-xs",
502+
},
503+
},
504+
{
505+
id: "calendar-2-multiple",
506+
templateData: {
507+
id: "01FRJPF4XATRN8PBZ35XN84PS6",
508+
},
509+
themeFile: null,
510+
feedData: [],
511+
mediaData: {
512+
"/v1/media/00000000000000000000000001": {
513+
assets: {
514+
uri: "/fixtures/template/images/mountain1.jpeg",
515+
},
516+
},
517+
},
518+
content: {
519+
image: ["/v1/media/00000000000000000000000001"],
520+
duration: 5000,
521+
layout: "multiple",
522+
hasDateAndTime: false,
523+
displayHeaders: true,
524+
hideGrid: false,
525+
fontSize: "font-size-xs",
526+
},
527+
},
528+
{
529+
id: "calendar-0-single",
458530
templateData: {
459531
id: "01FRJPF4XATRN8PBZ35XN84PS6",
460532
},
@@ -558,6 +630,32 @@ const slideFixtures = [
558630
fontSize: "font-size-xl",
559631
},
560632
},
633+
{
634+
id: "calendar-1-single",
635+
templateData: {
636+
id: "01FRJPF4XATRN8PBZ35XN84PS6",
637+
},
638+
themeFile: null,
639+
feedData: [],
640+
mediaData: {
641+
"/v1/media/00000000000000000000000001": {
642+
assets: {
643+
uri: "/fixtures/template/images/mountain1.jpeg",
644+
},
645+
},
646+
},
647+
content: {
648+
duration: 5000,
649+
layout: "single",
650+
mediaContain: false,
651+
title: "Kalender",
652+
subTitle: "Underoverskrift",
653+
resourceAvailableText: "Lokalet er frit.",
654+
resourceUnavailableText: "Det er optaget",
655+
image: ["/v1/media/00000000000000000000000001"],
656+
fontSize: "font-size-xl",
657+
},
658+
},
561659
{
562660
id: "calendar-3-multiple-days",
563661
templateData: {

assets/tests/template/template-calendar.spec.js

Lines changed: 152 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const fixTime = async (page) => {
88
await page.clock.install({ time: newDate });
99
};
1010

11-
test("Calendar 0", async ({ page }) => {
11+
test("calendar-0-multiple-days: ui tests", async ({ page }) => {
1212
await fixTime(page);
1313

1414
await page.goto("/template/calendar-0-multiple-days");
@@ -18,45 +18,183 @@ test("Calendar 0", async ({ page }) => {
1818
await expect(page.getByText("Det tomme rum")).toBeVisible();
1919
await expect(page.getByText("Cake is gone")).toBeVisible();
2020
await expect(page.getByText("Det fulde rum")).toBeVisible();
21+
await expect(page.getByText("Se mere på localhost/events")).toBeVisible();
2122

2223
await expect(page.locator(".content > section")).toHaveCount(5);
24+
await expect(page.locator(".font-size-m")).toHaveCount(1);
25+
26+
await expect(page.locator(".calendar-multiple-days")).toHaveCSS(
27+
"--bg-image",
28+
"",
29+
);
2330
});
2431

25-
test("Calendar 1", async ({ page }) => {
32+
test("calendar-1-multiple-days: ui tests", async ({ page }) => {
2633
await fixTime(page);
2734

28-
await page.goto("/template/calendar-1-multiple");
35+
await page.goto("/template/calendar-1-multiple-days");
2936

30-
await expect(page.getByText("Cake is in the past")).toHaveCount(0);
37+
await expect(page.locator(".content")).toBeEmpty();
38+
await expect(page.locator(".footer")).toHaveCount(0);
39+
await expect(page.locator(".font-size-xl")).toHaveCount(1);
40+
await expect(page.locator(".calendar-multiple-days")).toHaveCSS(
41+
"--bg-image",
42+
new RegExp("/fixtures/template/images/mountain1.jpeg"),
43+
);
44+
});
45+
46+
test("calendar-0-multiple: ui test", async ({ page }) => {
47+
await fixTime(page);
48+
49+
await page.goto("/template/calendar-0-multiple");
3150

51+
// hideGrid true
52+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
53+
"border-bottom",
54+
"0px none rgb(0, 0, 0)",
55+
);
56+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
57+
"border-right",
58+
"0px none rgb(0, 0, 0)",
59+
);
60+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
61+
"border-left",
62+
"0px none rgb(0, 0, 0)",
63+
);
64+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
65+
"border-top",
66+
"0px none rgb(0, 0, 0)",
67+
);
3268
await expect(page.locator(".header-title")).toHaveText(
3369
"Møder i dag på Bautavej",
3470
);
71+
72+
// fontSize: "font-size-xl"
73+
await expect(page.locator(".font-size-xl")).toHaveCount(1);
74+
75+
// hasDateAndTime: true
76+
// dateAsBox: false,
77+
await expect(page.locator(".header-date")).toHaveCount(1);
78+
await expect(page.locator(".header-date-box")).toHaveCount(0);
3579
await expect(page.locator(".header-date")).toHaveText(new RegExp("06:"));
80+
81+
await expect(page.getByText("Cake is in the past")).toHaveCount(0);
3682
await expect(page.locator(".content-item")).toHaveCount(3);
37-
await expect(page.getByText("Hvad")).toBeVisible();
38-
await expect(page.getByText("Hvornår")).toBeVisible();
83+
84+
// headerOrder: "whatwherewhen",
85+
await expect(page.getByText("Hvad", { exact: true })).toHaveCSS("order", "1");
86+
await expect(page.getByText("Hvor", { exact: true })).toHaveCSS("order", "2");
87+
await expect(page.getByText("Hvornår", { exact: true })).toHaveCSS(
88+
"order",
89+
"3",
90+
);
3991

4092
await expect(page.getByText("Det tredje rum")).toBeVisible();
4193
await expect(page.getByText("Coffee")).toBeVisible();
4294
});
4395

44-
test("Calendar 2", async ({ page }) => {
96+
test("calendar-1-multiple: ui test", async ({ page }) => {
4597
await fixTime(page);
4698

47-
await page.goto("/template/calendar-2-single");
99+
await page.goto("/template/calendar-1-multiple");
48100

49-
await expect(page.getByText("Kalender")).toBeVisible();
50-
await expect(page.getByText("Underoverskrift")).toBeVisible();
51-
await expect(page.getByText("Cake is a lie")).toBeVisible();
101+
await expect(page.getByText("Cake is in the past")).toHaveCount(0);
102+
103+
await expect(page.locator(".header-title")).toHaveCount(1);
104+
await expect(page.locator(".header-title")).toHaveText("");
105+
106+
// hideGrid false
107+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
108+
"border-bottom",
109+
"1px solid rgb(26, 26, 26)",
110+
);
111+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
112+
"border-right",
113+
"0px none rgb(0, 0, 0)",
114+
);
115+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
116+
"border-left",
117+
"1px solid rgb(26, 26, 26)",
118+
);
119+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
120+
"border-top",
121+
"0px none rgb(0, 0, 0)",
122+
);
123+
124+
// headerOrder: null, (default when what where)
125+
await expect(page.getByText("Hvornår", { exact: true })).toHaveCSS(
126+
"order",
127+
"1",
128+
);
129+
await expect(page.getByText("Hvad", { exact: true })).toHaveCSS("order", "2");
130+
await expect(page.getByText("Hvor", { exact: true })).toHaveCSS("order", "3");
131+
132+
// fontSize: "font-size-xs"
133+
await expect(page.locator(".font-size-xs")).toHaveCount(1);
134+
135+
// hasDateAndTime: true
136+
// dateAsBox: true,
137+
await expect(page.locator(".header-date")).toHaveCount(1);
138+
await expect(page.locator(".header-date-box")).toHaveCount(0);
139+
await expect(page.locator(".header-date")).toHaveText(new RegExp("06:"));
140+
141+
await expect(page.locator(".content-item")).toHaveCount(3);
52142
});
53143

54-
test("Calendar 3", async ({ page }) => {
144+
test("calendar-2-multiple: ui test", async ({ page }) => {
55145
await fixTime(page);
56146

57-
await page.goto("/template/calendar-3-multiple-days");
147+
await page.goto("/template/calendar-2-multiple");
58148

59-
// TODO
149+
// hasDateAndTime: false
150+
// dateAsBox: false,
151+
await expect(page.locator(".header-date")).toHaveCount(0);
152+
await expect(page.locator(".header-date-box")).toHaveCount(0);
153+
});
154+
155+
test("calendar-0-single: ui tests", async ({ page }) => {
156+
await fixTime(page);
157+
158+
await page.goto("/template/calendar-0-single");
159+
160+
const title = page.locator(".title");
161+
const subtitle = page.locator(".subtitle");
162+
163+
await expect(title).toHaveText("Kalender");
164+
await expect(subtitle).toHaveText("Underoverskrift");
165+
const items = page.locator(".content-item");
166+
167+
await expect(items).toHaveCount(3);
168+
169+
await expect(items.nth(0)).toContainText("07:30 - 08:00Cake is a lie");
170+
171+
await expect(items.nth(1)).toContainText("07:30 - 08:00Cake");
172+
173+
await expect(items.nth(2)).toContainText("08:00 - 09:00Det er optaget");
174+
175+
await expect(page.locator(".media-contain")).toHaveCount(1);
176+
await expect(page.locator(".template-calendar")).toHaveCSS(
177+
"--bg-image",
178+
new RegExp("/fixtures/template/images/mountain1.jpeg"),
179+
);
180+
await expect(page.locator(".content-item").nth(1)).toHaveCSS(
181+
"border-left",
182+
"1px solid rgb(26, 26, 26)",
183+
);
184+
await expect(page.locator(".media-contain")).toHaveCount(1);
185+
});
186+
187+
test("calendar-1-single: ui tests", async ({ page }) => {
188+
await fixTime(page);
189+
190+
await page.goto("/template/calendar-1-single");
191+
192+
const title = page.locator(".title");
193+
const subtitle = page.locator(".subtitle");
194+
195+
await expect(title).toHaveText("Kalender");
196+
await expect(subtitle).toHaveText("Underoverskrift");
197+
await expect(page.locator(".media-contain")).toHaveCount(0);
60198
});
61199

62200
test("Calendar 4", async ({ page }) => {

assets/tests/template/template-main.spec.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ test.describe("Template Links", () => {
1616
const templateIds = [
1717
"book-review-0",
1818
"calendar-0-multiple-days",
19+
"calendar-1-multiple-days",
20+
"calendar-0-multiple",
1921
"calendar-1-multiple",
20-
"calendar-2-single",
22+
"calendar-2-multiple",
23+
"calendar-0-single",
24+
"calendar-1-single",
2125
"calendar-3-multiple-days",
2226
"calendar-4-single-booking",
2327
"contacts-underlined",
@@ -33,6 +37,7 @@ test.describe("Template Links", () => {
3337
"instagram-0",
3438
"instagram-1-no-max-entries",
3539
"news-feed-0",
40+
"news-feed-no-media-contain",
3641
"poster-0-single",
3742
"poster-0-single-override",
3843
"poster-1-subscription",

0 commit comments

Comments
 (0)