我正尝试测试该应用程序将用户重定向到经过身份验证的路由,因为他们不是管理员。
但是我需要一种方法来等待所有重定向完成,然后再调用getCurrentUrl()
it('should not allow regular user access', async (test) => {
await test.remote
.then(e2e.impersonate('test@test.com'))
.get('/protected-route')
//.waitForAllRedirects()
.getCurrentUrl()
.then(url => {
console.log('url', url);
expect(url.indexOf('/landing-page')).not.toBe(-1);
return true;
});
});
答案 0 :(得分:1)
可能最简单的方法是查找应位于非受保护页面而非受保护页面上的内容。找到所需的内容后,请检查URL以确认您的位置。
it('should not allow regular user access', test => {
return test.remote
.then(e2e.impersonate('test@test.com'))
.get('/protected-route')
.findByCssSelector('.something.that.should.be.visible')
.getCurrentUrl()
.then(url => {
console.log('url', url);
expect(url.indexOf('/landing-page')).not.toBe(-1);
return true;
});
});