Spaces:
Running
Running
import path from 'path'; | |
import SeleniumHelper from '../helpers/selenium-helper'; | |
const { | |
clickText, | |
clickXpath, | |
findByXpath, | |
getDriver, | |
Key, | |
loadUri | |
} = new SeleniumHelper(); | |
const uri = path.resolve(__dirname, '../../build/index.html'); | |
let driver; | |
describe('Project state', () => { | |
beforeAll(() => { | |
driver = getDriver(); | |
}); | |
afterAll(async () => { | |
await driver.quit(); | |
}); | |
test('File->New resets project title', async () => { | |
const defaultProjectTitle = 'Scratch Project'; | |
await loadUri(uri); | |
const inputEl = await findByXpath(`//input[@value="${defaultProjectTitle}"]`); | |
for (let i = 0; i < defaultProjectTitle.length; i++) { | |
inputEl.sendKeys(Key.BACK_SPACE); | |
} | |
inputEl.sendKeys('Changed title of project'); | |
await clickText('Costumes'); // just to blur the input | |
// verify that project title has changed | |
await clickXpath('//input[@value="Changed title of project"]'); | |
await clickXpath( | |
'//div[contains(@class, "menu-bar_menu-bar-item") and ' + | |
'contains(@class, "menu-bar_hoverable")][span[text()="File"]]' | |
); | |
await clickXpath('//li[span[text()="New"]]'); | |
// project title should be default again | |
await clickXpath(`//input[@value="${defaultProjectTitle}"]`); | |
}); | |
}); | |