summaryrefslogtreecommitdiffstats
path: root/tests/e2e/repo-wiki.test.e2e.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/e2e/repo-wiki.test.e2e.js')
-rw-r--r--tests/e2e/repo-wiki.test.e2e.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/e2e/repo-wiki.test.e2e.js b/tests/e2e/repo-wiki.test.e2e.js
new file mode 100644
index 0000000..dc8a670
--- /dev/null
+++ b/tests/e2e/repo-wiki.test.e2e.js
@@ -0,0 +1,36 @@
+// @ts-check
+import {expect} from '@playwright/test';
+import {test} from './utils_e2e.js';
+
+for (const searchTerm of ['space', 'consectetur']) {
+ for (const width of [null, 2560, 4000]) {
+ test(`Search for '${searchTerm}' and test for no overflow ${width && `on ${width}-wide viewport` || ''}`, async ({page, viewport}, workerInfo) => {
+ test.skip(workerInfo.project.name === 'Mobile Safari', 'Fails as always, see https://codeberg.org/forgejo/forgejo/pulls/5326#issuecomment-2313275');
+
+ await page.setViewportSize({
+ width: width ?? viewport.width,
+ height: 1440, // We're testing that we fit horizontally - vertical scrolling is fine.
+ });
+ await page.goto('/user2/repo1/wiki');
+ await page.waitForLoadState('networkidle');
+ await page.getByPlaceholder('Search wiki').fill(searchTerm);
+ await page.getByPlaceholder('Search wiki').click();
+ // workaround: HTMX listens on keyup events, playwright's fill only triggers the input event
+ // so we manually "type" the last letter
+ await page.getByPlaceholder('Search wiki').dispatchEvent('keyup');
+ // timeout is necessary because HTMX search could be slow
+ await expect(page.locator('#wiki-search a[href]')).toBeInViewport({ratio: 1});
+ });
+ }
+}
+
+test(`Search results show titles (and not file names)`, async ({page}, workerInfo) => {
+ test.skip(workerInfo.project.name === 'Mobile Safari', 'Fails as always, see https://codeberg.org/forgejo/forgejo/pulls/5326#issuecomment-2313275');
+ await page.goto('/user2/repo1/wiki');
+ await page.getByPlaceholder('Search wiki').fill('spaces');
+ await page.getByPlaceholder('Search wiki').click();
+ // workaround: HTMX listens on keyup events, playwright's fill only triggers the input event
+ // so we manually "type" the last letter
+ await page.getByPlaceholder('Search wiki').dispatchEvent('keyup');
+ await expect(page.locator('#wiki-search a[href] b')).toHaveText('Page With Spaced Name');
+});