我正在尝试在用户登录后测试重定向,但它不起作用。如果我在测试之外这样做,它就可以工作(它重定向到“/主页”页面)。
提交是通过 redux 的调度处理的,但我认为这不是问题,因为我之前测试过,做了一些更改并且它有效。
这是登录表单:
const submit = (data: AuthData) => {
dispatch(login(data));
router.push('/home');
};
return (
<div>
<form noValidate onSubmit={handleSubmit(submit)}>
{inputs.map((input) => (
<div key={input.name} className="text-left mb-3">
<label htmlFor={input.name} className="form-label">
{input.label}
</label>
<Input
register={register}
name={input.name}
type={input.type}
placeholder={input.placeholder}
error={errors[input.name]}
/>
<div className={'invalid-feedback'}>{errors[input.name]?.message}</div>
</div>
))}
<div className="text-center mt-3">
<Button className={'btn btn-primary btn-lg btn-block'} type={ButtonType.submit}>
Submit
</Button>
</div>
</form>
</div>
);
这是登录测试:
describe('Login Page', () => {
it('Login correctly', () => {
cy.get('#email').clear().type('user@mail.com');
cy.get('#password').clear().type('123456');
cy.get('.btn').click();
cy.get('.btn').click();
cy.get('[data-cy=home]');
});
});