|
|
@@ -0,0 +1,51 @@
|
|
|
+import { describe, it, before, after } from 'mocha'
|
|
|
+import { expect } from 'chai'
|
|
|
+import { By } from 'selenium-webdriver'
|
|
|
+import {
|
|
|
+ getRootAndWait,
|
|
|
+ takeScreenshotOnFailure,
|
|
|
+} from '../../lib/elements.js'
|
|
|
+
|
|
|
+describe('config: pageTitle', function () {
|
|
|
+ before(async function () {
|
|
|
+ await runner.start('pageTitle')
|
|
|
+ })
|
|
|
+
|
|
|
+ after(async () => {
|
|
|
+ await runner.stop()
|
|
|
+ })
|
|
|
+
|
|
|
+ afterEach(function () {
|
|
|
+ takeScreenshotOnFailure(this.currentTest, webdriver);
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Init API returns custom pageTitle from config', async function () {
|
|
|
+ await getRootAndWait()
|
|
|
+
|
|
|
+ // Check that the Init API response (available via window.initResponse) contains pageTitle
|
|
|
+ // This is how the frontend accesses it, so it's the most reliable way to test
|
|
|
+ const initResponse = await webdriver.executeScript('return window.initResponse')
|
|
|
+
|
|
|
+ expect(initResponse).to.not.be.null
|
|
|
+ expect(initResponse).to.have.own.property('pageTitle')
|
|
|
+ expect(initResponse.pageTitle).to.equal('Custom Test Title')
|
|
|
+ })
|
|
|
+
|
|
|
+ it('Header displays custom pageTitle from init response', async function () {
|
|
|
+ await getRootAndWait()
|
|
|
+
|
|
|
+ // Check that the pageTitle from init response is used in the header
|
|
|
+ // First verify the init response has the correct pageTitle
|
|
|
+ const pageTitle = await webdriver.executeScript('return window.initResponse?.pageTitle')
|
|
|
+ expect(pageTitle).to.equal('Custom Test Title')
|
|
|
+
|
|
|
+ // The Header component from picocrank should render the title prop
|
|
|
+ // Check for the title in the header element
|
|
|
+ const header = await webdriver.findElement(By.tagName('header'))
|
|
|
+ const headerText = await header.getText()
|
|
|
+
|
|
|
+ // The header should contain the custom page title
|
|
|
+ expect(headerText).to.include('Custom Test Title')
|
|
|
+ })
|
|
|
+})
|
|
|
+
|