Add additional E2E tests cases for user agreement auth state and ensure, that oauth flow works correctly with deleted accounts

This commit is contained in:
ErickSkrauch
2020-08-01 22:19:00 +03:00
parent 60e892d993
commit 00e74b1faf
6 changed files with 285 additions and 1 deletions

View File

@ -47,6 +47,20 @@ describe('AcceptRulesState', () => {
state.enter(context);
});
it('should transition to complete state if account is deleted even if user should accept rules', () => {
context.getState.returns({
user: {
shouldAcceptRules: true,
isGuest: false,
isDeleted: true,
},
});
expectState(mock, CompleteState);
state.enter(context);
});
});
describe('#resolve', () => {

View File

@ -8,7 +8,7 @@ export default class AcceptRulesState extends AbstractState {
enter(context: AuthContext): Promise<void> | void {
const { user } = context.getState();
if (user.shouldAcceptRules) {
if (!user.isDeleted && user.shouldAcceptRules) {
context.navigate('/accept-rules');
} else {
context.setState(new CompleteState());

View File

@ -71,6 +71,22 @@ describe('CompleteState', () => {
state.enter(context);
});
it('should navigate to the / if account is deleted', () => {
context.getState.returns({
user: {
isGuest: false,
isActive: true,
shouldAcceptRules: true,
isDeleted: true,
},
auth: {},
});
expectNavigate(mock, '/');
state.enter(context);
});
it('should transition to accept-rules if shouldAcceptRules', () => {
context.getState.returns({
user: {

View File

@ -34,6 +34,8 @@ export default class CompleteState extends AbstractState {
context.setState(new LoginState());
} else if (!user.isActive) {
context.setState(new ActivationState());
} else if (user.isDeleted) {
context.navigate('/');
} else if (user.shouldAcceptRules) {
context.setState(new AcceptRulesState());
} else if (oauth && oauth.clientId) {