Skip to content

Commit 50d43ce

Browse files
netpyne-123 setting up test
1 parent ac2f2fd commit 50d43ce

1 file changed

Lines changed: 90 additions & 0 deletions

File tree

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
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+
customDiffConfig: {
21+
ssim: 'fast',
22+
},
23+
failureThresholdType: 'percent',
24+
failureThreshold: 0.2
25+
};
26+
27+
28+
let r = (Math.random() + 1).toString(36).substring(2);
29+
30+
//USERS:
31+
const USERNAME = `TestUser${r}`
32+
const PASSWORD = 'testpassword'
33+
34+
35+
//TESTS:
36+
37+
jest.setTimeout(300000);
38+
39+
describe('Save / Open File testing', () => {
40+
41+
beforeAll(async () => {
42+
await page.goto(baseURL);
43+
await page.waitForSelector(selectors.LOGIN_PAGE_SELECTOR);
44+
await page.waitForSelector(selectors.USERNAME_SELECTOR)
45+
await expect(page)
46+
.toFill(selectors.USERNAME_SELECTOR, USERNAME, { timeout: TIMEOUT });
47+
48+
await page.waitForSelector(selectors.PASSWORD_SELECTOR)
49+
await expect(page)
50+
.toFill(selectors.PASSWORD_SELECTOR, PASSWORD, { timeout: TIMEOUT });
51+
52+
await page.click(selectors.LOGIN_BUTTON_SELECTOR)
53+
54+
await page.waitForFunction(() => {
55+
let el = document.querySelector('#loading-spinner');
56+
return el == null || el.clientHeight === 0;
57+
}, { timeout: TIMEOUT });
58+
});
59+
60+
it('Open new page', async () => {
61+
62+
console.log('Opening a new NetPyNE page')
63+
64+
await page.on("dialog", dialog =>
65+
dialog.accept());
66+
67+
await page.waitForSelector(selectors.SELECT_CELL_BUTTON_SELECTOR, { timeout: TIMEOUT * 6, visible: true })
68+
await page.waitForSelector(selectors.FILE_TAB_SELECTOR, { timeout: PAGE_WAIT * 3 })
69+
await page.waitForTimeout(PAGE_WAIT)
70+
await page.click(selectors.FILE_TAB_SELECTOR)
71+
await page.waitForSelector(selectors.NEW_FILE_SELECTOR, { timeout: PAGE_WAIT * 3 })
72+
await page.waitForTimeout(PAGE_WAIT)
73+
await page.click(selectors.NEW_FILE_SELECTOR)
74+
await page.waitForTimeout(PAGE_WAIT)
75+
await page.waitForSelector(selectors.CONFIRM_NEW_PAGE_SELECTOR)
76+
await page.click(selectors.CONFIRM_NEW_PAGE_SELECTOR)
77+
await page.waitForTimeout(PAGE_WAIT * 3)
78+
79+
await page.waitForFunction(() => {
80+
let el = document.querySelector('#loading-spinner');
81+
return el == null || el.clientHeight === 0;
82+
}, { timeout: TIMEOUT * 3 });
83+
84+
await page.waitForSelector(selectors.SELECT_CELL_BUTTON_SELECTOR, { timeout: TIMEOUT * 10 })
85+
86+
console.log('Page opened successfully')
87+
88+
})
89+
90+
})

0 commit comments

Comments
 (0)