Skip to content

Commit de103cb

Browse files
control panel tests initial set up
1 parent f0e9272 commit de103cb

1 file changed

Lines changed: 132 additions & 0 deletions

File tree

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
//IMPORTS:
2+
import 'expect-puppeteer';
3+
import { click } from './utils';
4+
import { toMatchImageSnapshot } from 'jest-image-snapshot'
5+
expect.extend({ toMatchImageSnapshot })
6+
const path = require('path');
7+
var scriptName = path.basename(__filename, '.js');
8+
import * as selectors from './selectors'
9+
10+
11+
//PAGE INFO:
12+
const baseURL = process.env.url || 'https://stage.netpyne.metacell.us/'
13+
const PAGE_WAIT = 3000;
14+
const TIMEOUT = 60000;
15+
16+
//SNAPSHOT:
17+
const SNAPSHOT_OPTIONS = {
18+
customSnapshotsDir: `./tests/snapshots/${scriptName}`,
19+
comparisonMethod: 'ssim',
20+
failureThresholdType: 'percent',
21+
failureThreshold: 0.5
22+
};
23+
24+
25+
//USERS:
26+
const USERNAME = 'color_picker_TestUser'
27+
const PASSWORD = 'testpassword'
28+
29+
//TESTS:
30+
31+
jest.setTimeout(300000);
32+
33+
34+
35+
describe('Test for the Control Panel - color picker', () => {
36+
37+
beforeAll(async () => {
38+
await page.goto(baseURL);
39+
await page.waitForSelector(selectors.LOGIN_PAGE_SELECTOR);
40+
await page.waitForSelector(selectors.USERNAME_SELECTOR)
41+
await expect(page)
42+
.toFill(selectors.USERNAME_SELECTOR, USERNAME, { timeout: TIMEOUT });
43+
44+
await page.waitForSelector(selectors.PASSWORD_SELECTOR)
45+
await expect(page)
46+
.toFill(selectors.PASSWORD_SELECTOR, PASSWORD, { timeout: TIMEOUT });
47+
48+
await page.click(selectors.LOGIN_BUTTON_SELECTOR)
49+
50+
await page.waitForFunction(() => {
51+
let el = document.querySelector('#loading-spinner');
52+
return el == null || el.clientHeight === 0;
53+
}, { timeout: TIMEOUT });
54+
});
55+
56+
it('Open new page', async () => {
57+
58+
console.log('Opening a new NetPyNE page')
59+
60+
await page.on("dialog", dialog =>
61+
dialog.accept());
62+
63+
await page.waitForSelector(selectors.FILE_TAB_SELECTOR, { timeout: PAGE_WAIT * 30 })
64+
await page.waitForTimeout(PAGE_WAIT * 7)
65+
await page.click(selectors.FILE_TAB_SELECTOR)
66+
await page.waitForSelector(selectors.NEW_FILE_SELECTOR, { timeout: PAGE_WAIT * 10 })
67+
await page.waitForTimeout(PAGE_WAIT)
68+
await page.click(selectors.NEW_FILE_SELECTOR)
69+
await page.waitForTimeout(PAGE_WAIT)
70+
await page.waitForSelector(selectors.CONFIRM_NEW_PAGE_SELECTOR)
71+
await page.click(selectors.CONFIRM_NEW_PAGE_SELECTOR)
72+
await page.waitForTimeout(PAGE_WAIT * 2)
73+
74+
await page.waitForFunction(() => {
75+
let el = document.querySelector('#loading-spinner');
76+
return el == null || el.clientHeight === 0;
77+
}, { timeout: TIMEOUT });
78+
79+
80+
await page.waitForSelector(selectors.SELECT_CELL_BUTTON_SELECTOR, { timeout: TIMEOUT * 10 })
81+
82+
console.log('Page opened successfully')
83+
84+
})
85+
86+
it('Load Tutorial#2', async () => {
87+
88+
await page.waitForTimeout(PAGE_WAIT * 2)
89+
await page.waitForSelector(selectors.SELECT_CELL_BUTTON_SELECTOR, { timeout: TIMEOUT })
90+
await page.waitForTimeout(PAGE_WAIT)
91+
await page.click(selectors.TUTORIALS_BUTTON_SELECTOR, { timeout: TIMEOUT })
92+
93+
console.log('Loading Tutorial #2')
94+
await page.click(selectors.TUTORIAL_2_SELECTOR, { timeout: TIMEOUT })
95+
await page.waitForTimeout(PAGE_WAIT)
96+
97+
await page.waitForSelector(selectors.PYR_2_CELL_SELECTOR)
98+
await page.waitForSelector(selectors.INT_CELL_SELECTOR)
99+
await page.waitForTimeout(PAGE_WAIT)
100+
101+
console.log('Tutorial #2 loaded successfully')
102+
103+
104+
})
105+
106+
107+
it('Create network', async () => {
108+
109+
await page.waitForSelector(selectors.MODEL_BUTTON_SELECTOR)
110+
await page.click(selectors.MODEL_BUTTON_SELECTOR, { timeout: TIMEOUT });
111+
await page.waitForSelector(selectors.CREATE_NETWORK_SELECTOR)
112+
await page.click(selectors.CREATE_NETWORK_SELECTOR, { timeout: TIMEOUT });
113+
114+
console.log('Create network')
115+
116+
await page.waitForSelector(selectors.DISABLED_RASTER_PLOT_SELECTOR, { timeout: TIMEOUT * 3 })
117+
118+
console.log('Network created successfully')
119+
120+
await page.waitForTimeout(PAGE_WAIT)
121+
122+
console.log('... taking snapshot ...');
123+
await page.waitForTimeout(PAGE_WAIT);
124+
expect(await page.screenshot())
125+
.toMatchImageSnapshot({
126+
...SNAPSHOT_OPTIONS,
127+
customSnapshotIdentifier: 'Tutorial#2 Network'
128+
});
129+
})
130+
131+
132+
});

0 commit comments

Comments
 (0)