mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-12-11 08:11:19 -05:00
64 lines
1.8 KiB
JavaScript
64 lines
1.8 KiB
JavaScript
|
// These tests do not sign in with a user
|
||
|
|
||
|
const SeleniumHelper = require('./selenium-helpers.js');
|
||
|
|
||
|
const {
|
||
|
buildDriver,
|
||
|
clickXpath,
|
||
|
findByXpath,
|
||
|
getKey
|
||
|
} = new SeleniumHelper();
|
||
|
|
||
|
let remote = process.env.SMOKE_REMOTE || false;
|
||
|
let rootUrl = process.env.ROOT_URL || 'https://scratch.ly';
|
||
|
|
||
|
if (remote){
|
||
|
jest.setTimeout(60000);
|
||
|
} else {
|
||
|
jest.setTimeout(20000);
|
||
|
}
|
||
|
|
||
|
let driver;
|
||
|
|
||
|
describe('www-integration search', () => {
|
||
|
beforeAll(async () => {
|
||
|
driver = await buildDriver('www-integration search');
|
||
|
});
|
||
|
|
||
|
beforeEach(async () => {
|
||
|
await driver.get(rootUrl);
|
||
|
});
|
||
|
|
||
|
afterAll(async () => await driver.quit());
|
||
|
|
||
|
test('search converts spaces', async () => {
|
||
|
let searchBar = await findByXpath('//div[contains(@class, "search-wrapper")]/div/input');
|
||
|
await searchBar.sendKeys('Test search string' + getKey('ENTER'));
|
||
|
|
||
|
// check url
|
||
|
let url = await driver.getCurrentUrl();
|
||
|
await expect(url).toMatch(/^.*\?q=Test%20search%20string$/);
|
||
|
});
|
||
|
|
||
|
test('Search escapes symbols', async () => {
|
||
|
let searchBar = await findByXpath('//div[contains(@class, "search-wrapper")]/div/input');
|
||
|
await searchBar.sendKeys('100% pen' + getKey('ENTER'));
|
||
|
|
||
|
// check url
|
||
|
let url = await driver.getCurrentUrl();
|
||
|
await expect(url).toMatch(/^.*\?q=100%25%20pen$/);
|
||
|
});
|
||
|
|
||
|
test('Switching to studios maintains search string', async () => {
|
||
|
let searchBar = await findByXpath('//div[contains(@class, "search-wrapper")]/div/input');
|
||
|
await searchBar.sendKeys('100% pen' + getKey('ENTER'));
|
||
|
|
||
|
// switch to studios tab
|
||
|
clickXpath('//a/li/span[contains(text(),"Studios")]');
|
||
|
|
||
|
// check url
|
||
|
let url = await driver.getCurrentUrl();
|
||
|
await expect(url).toMatch(/^.*\?q=100%25%20pen$/);
|
||
|
});
|
||
|
});
|