Commit 58ca12e8 authored by valleykid's avatar valleykid Committed by ddcat1115

Nightmare -> puppeteer (#1006)

parent 928e2364
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
"stylelint-config-standard": "^18.0.0" "stylelint-config-standard": "^18.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"nightmare": "^2.10.0" "puppeteer": "^1.1.1"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx}": "lint-staged:js", "**/*.{js,jsx}": "lint-staged:js",
......
import Nightmare from 'nightmare'; import puppeteer from 'puppeteer';
describe('Homepage', () => { describe('Homepage', () => {
it('it should have logo text', async () => { it('it should have logo text', async () => {
const page = Nightmare().goto('http://localhost:8000'); const browser = await puppeteer.launch();
const text = await page.wait('h1').evaluate(() => document.body.innerHTML).end(); const page = await browser.newPage();
await page.goto('http://localhost:8000');
await page.waitForSelector('h1');
const text = await page.evaluate(() => document.body.innerHTML);
expect(text).toContain('<h1>Ant Design Pro</h1>'); expect(text).toContain('<h1>Ant Design Pro</h1>');
await page.close();
browser.close();
}); });
}); });
import Nightmare from 'nightmare'; import puppeteer from 'puppeteer';
describe('Login', () => { describe('Login', () => {
let browser;
let page; let page;
beforeEach(() => {
page = Nightmare(); beforeAll(async () => {
page browser = await puppeteer.launch();
.goto('http://localhost:8000/') });
.evaluate(() => {
window.localStorage.setItem('antd-pro-authority', 'guest'); beforeEach(async () => {
}) page = await browser.newPage();
.goto('http://localhost:8000/#/user/login'); await page.goto('http://localhost:8000/#/user/login');
await page.evaluate(() => window.localStorage.setItem('antd-pro-authority', 'guest'));
}); });
afterEach(() => page.close());
it('should login with failure', async () => { it('should login with failure', async () => {
await page.type('#userName', 'mockuser') await page.type('#userName', 'mockuser');
.type('#password', 'wrong_password') await page.type('#password', 'wrong_password');
.click('button[type="submit"]') await page.click('button[type="submit"]');
.wait('.ant-alert-error') // should display error await page.waitForSelector('.ant-alert-error'); // should display error
.end();
}); });
it('should login successfully', async () => { it('should login successfully', async () => {
const text = await page.type('#userName', 'admin') await page.type('#userName', 'admin');
.type('#password', '888888') await page.type('#password', '888888');
.click('button[type="submit"]') await page.click('button[type="submit"]');
.wait('.ant-layout-sider h1') // should display error await page.waitForSelector('.ant-layout-sider h1'); // should display error
.evaluate(() => document.body.innerHTML) const text = await page.evaluate(() => document.body.innerHTML);
.end();
expect(text).toContain('<h1>Ant Design Pro</h1>'); expect(text).toContain('<h1>Ant Design Pro</h1>');
}); });
afterAll(() => browser.close());
}); });
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment