diff --git a/src/playground/player.jsx b/src/playground/player.jsx index a0894fe39dea782401e1b2806f3ddf55b9d267e9..6c2833f1b8108d08022e9d6c85bac9357f1f497f 100644 --- a/src/playground/player.jsx +++ b/src/playground/player.jsx @@ -18,7 +18,7 @@ if (process.env.NODE_ENV === 'production' && typeof window === 'object') { import styles from './player.css'; -const Player = ({isPlayerOnly, onSeeInside}) => ( +const Player = ({isPlayerOnly, onSeeInside, projectId}) => ( <Box className={classNames({ [styles.stageOnly]: isPlayerOnly @@ -28,13 +28,15 @@ const Player = ({isPlayerOnly, onSeeInside}) => ( <GUI enableCommunity isPlayerOnly={isPlayerOnly} + projectId={projectId} /> </Box> ); Player.propTypes = { isPlayerOnly: PropTypes.bool, - onSeeInside: PropTypes.func + onSeeInside: PropTypes.func, + projectId: PropTypes.string }; const mapStateToProps = state => ({ diff --git a/test/helpers/selenium-helper.js b/test/helpers/selenium-helper.js index ce2d6a533e35a43b07ae7557b64b0d96ebadccf5..2d979e4486221ed08b770c2a572572d4f2e8f498 100644 --- a/test/helpers/selenium-helper.js +++ b/test/helpers/selenium-helper.js @@ -44,6 +44,9 @@ class SeleniumHelper { args.push('--headless'); } chromeCapabilities.set('chromeOptions', {args}); + chromeCapabilities.setLoggingPrefs({ + performance: 'ALL' + }); this.driver = new webdriver.Builder() .forBrowser('chrome') .withCapabilities(chromeCapabilities) diff --git a/test/integration/examples.test.js b/test/integration/examples.test.js index f745dc24d2c0101582e5901d581d7dd901f717d7..ecaeb56f2fa36f9bd83095563395f72a7759426f 100644 --- a/test/integration/examples.test.js +++ b/test/integration/examples.test.js @@ -35,6 +35,14 @@ describe('player example', () => { await clickXpath('//img[@title="Stop"]'); const logs = await getLogs(); await expect(logs).toEqual([]); + const projectRequests = await driver.manage().logs() + .get('performance') + .then(pLogs => pLogs.map(log => JSON.parse(log.message).message) + .filter(m => m.method === 'Network.requestWillBeSent') + .map(m => m.params.request.url) + .filter(url => url === 'https://projects.scratch.mit.edu/internalapi/project/96708228/get/') + ); + await expect(projectRequests).toEqual(['https://projects.scratch.mit.edu/internalapi/project/96708228/get/']); }); }); @@ -58,6 +66,14 @@ describe('blocks example', () => { await clickXpath('//img[@title="Stop"]'); const logs = await getLogs(); await expect(logs).toEqual([]); + const projectRequests = await driver.manage().logs() + .get('performance') + .then(pLogs => pLogs.map(log => JSON.parse(log.message).message) + .filter(m => m.method === 'Network.requestWillBeSent') + .map(m => m.params.request.url) + .filter(url => url === 'https://projects.scratch.mit.edu/internalapi/project/96708228/get/') + ); + await expect(projectRequests).toEqual(['https://projects.scratch.mit.edu/internalapi/project/96708228/get/']); }); test('Change categories', async () => {