reset account + password required in api

This commit is contained in:
negue
2023-02-05 18:52:54 +01:00
parent 64f7e7a1d9
commit bec75c6e12
3 changed files with 57 additions and 9 deletions
+38 -6
View File
@@ -21,7 +21,9 @@ describe('POST /user/reset', () => {
type: 'habit',
});
await user.post('/user/reset');
await user.post('/user/reset', {
password: 'password',
});
await user.sync();
await expect(user.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
@@ -39,7 +41,9 @@ describe('POST /user/reset', () => {
type: 'daily',
});
await user.post('/user/reset');
await user.post('/user/reset', {
password: 'password',
});
await user.sync();
await expect(user.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
@@ -57,7 +61,9 @@ describe('POST /user/reset', () => {
type: 'todo',
});
await user.post('/user/reset');
await user.post('/user/reset', {
password: 'password',
});
await user.sync();
await expect(user.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
@@ -75,7 +81,9 @@ describe('POST /user/reset', () => {
type: 'reward',
});
await user.post('/user/reset');
await user.post('/user/reset', {
password: 'password',
});
await user.sync();
await expect(user.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
@@ -87,6 +95,26 @@ describe('POST /user/reset', () => {
expect(user.tasksOrder.rewards).to.be.empty;
});
it('does not allow to reset if the password is missing', async () => {
await expect(user.post('/user/reset', {
password: '',
})).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: t('missingPassword'),
});
});
it('does not allow to reset if the password is wrong', async () => {
await expect(user.post('/user/reset', {
password: 'passdw',
})).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
message: t('wrongPassword'),
});
});
it('does not delete challenge or group tasks', async () => {
const guild = await generateGroup(user, {}, { 'purchased.plan.customerId': 'group-unlimited' });
const challenge = await generateChallenge(user, guild);
@@ -102,7 +130,9 @@ describe('POST /user/reset', () => {
});
await user.post(`/tasks/${groupTask._id}/assign`, [user._id]);
await user.post('/user/reset');
await user.post('/user/reset', {
password: 'password',
});
await user.sync();
await user.put('/user', {
@@ -133,7 +163,9 @@ describe('POST /user/reset', () => {
},
});
await hero.post('/user/reset');
await user.post('/user/reset', {
password: 'password',
});
const heroRes = await admin.get(`/hall/heroes/${hero.auth.local.username}`);