Skip to content

Commit 2a3ca40

Browse files
committed
Fixed Test cases
1 parent df277b5 commit 2a3ca40

2 files changed

Lines changed: 21 additions & 6 deletions

File tree

packages/contentstack-auth/src/utils/auth-handler.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ class AuthHandler {
118118
if (result.user) {
119119
log.debug('Login successful, user found', { module: 'auth-handler', userEmail: result.user.email });
120120
resolve(result.user as User);
121+
} else {
122+
log.debug('Login failed: no user found.', { module: 'auth-handler', result });
123+
reject(new Error(messageHandler.parse('CLI_AUTH_LOGIN_NO_USER')));
121124
}
122125
})
123126
.catch(async (error: any) => {
@@ -133,7 +136,7 @@ class AuthHandler {
133136
} else {
134137
log.debug('Login API call failed.', { module: 'auth-handler', error: error?.errorMessage || error });
135138
cliux.print('CLI_AUTH_LOGIN_FAILED', { color: 'yellow' });
136-
reject(error)
139+
reject(error);
137140
}
138141
});
139142
} else {

packages/contentstack-auth/test/unit/auth-handler.test.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ describe('Auth Handler', function () {
3030
return Promise.reject(new Error('Invalid 2FA code'));
3131
}
3232
} else {
33-
return Promise.resolve({ error_code: 294 });
33+
const error: any = new Error('2FA required');
34+
error.errorCode = 294;
35+
return Promise.reject(error);
3436
}
3537
}
3638
return Promise.resolve({ user });
@@ -113,13 +115,23 @@ describe('Auth Handler', function () {
113115
it('Login with 2FA enabled invalid otp, failed to login', async function () {
114116
this.timeout(10000);
115117
TFAEnabled = true;
116-
let result;
118+
askOTPStub.restore();
119+
askOTPStub = sinon.stub(interactive, 'askOTP').callsFake(function () {
120+
return Promise.resolve(InvalidTFATestToken);
121+
});
117122
try {
118-
result = await authHandler.login(credentials.email, credentials.password);
123+
await authHandler.login(credentials.email, credentials.password);
124+
expect.fail('Should have thrown an error');
119125
} catch (error) {
120-
result = error;
126+
expect(error).to.be.instanceOf(Error);
127+
expect((error as Error).message).to.include('Invalid 2FA code');
128+
} finally {
129+
TFAEnabled = false;
130+
askOTPStub.restore();
131+
askOTPStub = sinon.stub(interactive, 'askOTP').callsFake(function () {
132+
return Promise.resolve(TFATestToken);
133+
});
121134
}
122-
TFAEnabled = false;
123135
});
124136

125137
it('Login with 2FA enabled with sms channel, should be logged in successfully', async function () {

0 commit comments

Comments
 (0)