From 9666d03bc470f9961b5cd5dbb7480b542a3e6b1e Mon Sep 17 00:00:00 2001 From: afc163 Date: Mon, 8 Jan 2018 21:31:50 +0800 Subject: [PATCH] Fix test case finnally --- src/components/Authorized/CheckPermissions.js | 8 ++++---- src/e2e/home.e2e.js | 9 +++++++++ src/e2e/login.e2e.js | 7 ++++++- 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 src/e2e/home.e2e.js diff --git a/src/components/Authorized/CheckPermissions.js b/src/components/Authorized/CheckPermissions.js index e9664550..c1d6647d 100644 --- a/src/components/Authorized/CheckPermissions.js +++ b/src/components/Authorized/CheckPermissions.js @@ -16,15 +16,15 @@ const checkPermissions = (authority, currentAuthority, target, Exception) => { return target; } // 数组处理 - if (authority.constructor.name === 'Array') { - if (authority.includes(currentAuthority)) { + if (Array.isArray(authority)) { + if (authority.indexOf(currentAuthority) >= 0) { return target; } return Exception; } // string 处理 - if (authority.constructor.name === 'String') { + if (typeof authority === 'string') { if (authority === currentAuthority) { return target; } @@ -39,7 +39,7 @@ const checkPermissions = (authority, currentAuthority, target, Exception) => { } // Function 处理 - if (authority.constructor.name === 'Function') { + if (typeof authority === 'function') { try { const bool = authority(); if (bool) { diff --git a/src/e2e/home.e2e.js b/src/e2e/home.e2e.js new file mode 100644 index 00000000..61b0cd83 --- /dev/null +++ b/src/e2e/home.e2e.js @@ -0,0 +1,9 @@ +import Nightmare from 'nightmare'; + +describe('Homepage', () => { + it('it should have logo text', async () => { + const page = Nightmare().goto('http://localhost:8000'); + const text = await page.wait('h1').evaluate(() => document.body.innerHTML).end(); + expect(text).toContain('

Ant Design Pro

'); + }); +}); diff --git a/src/e2e/login.e2e.js b/src/e2e/login.e2e.js index 5e8e10a0..703efc0b 100644 --- a/src/e2e/login.e2e.js +++ b/src/e2e/login.e2e.js @@ -4,7 +4,12 @@ describe('Login', () => { let page; beforeEach(() => { page = Nightmare(); - page.goto('http://localhost:8000/#/user/login'); + page + .goto('http://localhost:8000/') + .evaluate(() => { + window.localStorage.setItem('antd-pro-authority', 'guest'); + }) + .goto('http://localhost:8000/#/user/login'); }); it('should login with failure', async () => { -- GitLab