login.e2e.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. const BASE_URL = `http://localhost:${process.env.PORT || 8000}`;
  2. describe('Login', () => {
  3. beforeAll(async () => {
  4. jest.setTimeout(1000000);
  5. });
  6. beforeEach(async () => {
  7. await page.goto(`${BASE_URL}/user/login`, { waitUntil: 'networkidle2' });
  8. await page.evaluate(() => window.localStorage.setItem('antd-pro-authority', 'guest'));
  9. });
  10. it('should login with failure', async () => {
  11. await page.waitForSelector('#userName', {
  12. timeout: 2000,
  13. });
  14. await page.type('#userName', 'mockuser');
  15. await page.type('#password', 'wrong_password');
  16. await page.click('button[type="submit"]');
  17. await page.waitForSelector('.ant-alert-error'); // should display error
  18. });
  19. it('should login successfully', async () => {
  20. await page.waitForSelector('#userName', {
  21. timeout: 2000,
  22. });
  23. await page.type('#userName', 'admin');
  24. await page.type('#password', 'ant.design');
  25. await page.click('button[type="submit"]');
  26. await page.waitForSelector('.ant-layout-sider h1'); // should display error
  27. const text = await page.evaluate(() => document.body.innerHTML);
  28. expect(text).toContain('<h1>Ant Design Pro</h1>');
  29. });
  30. });