| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 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')
- })
- })
|