mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 05:37:22 +01:00
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
import {
|
|
generateUser,
|
|
translate as t,
|
|
} from '../../../../helpers/api-integration/v3';
|
|
|
|
let user; let
|
|
webhookToDelete;
|
|
const endpoint = '/user/webhook';
|
|
|
|
describe('DELETE /user/webhook', () => {
|
|
beforeEach(async () => {
|
|
user = await generateUser();
|
|
|
|
webhookToDelete = await user.post('/user/webhook', {
|
|
url: 'http://some-url.com',
|
|
enabled: true,
|
|
});
|
|
await user.post('/user/webhook', {
|
|
url: 'http://some-other-url.com',
|
|
enabled: false,
|
|
});
|
|
|
|
await user.sync();
|
|
});
|
|
|
|
it('deletes a webhook', async () => {
|
|
expect(user.webhooks).to.have.a.lengthOf(2);
|
|
await user.del(`${endpoint}/${webhookToDelete.id}`);
|
|
|
|
await user.sync();
|
|
|
|
expect(user.webhooks).to.have.a.lengthOf(1);
|
|
});
|
|
|
|
it('returns the remaining webhooks', async () => {
|
|
const [remainingWebhook] = await user.del(`${endpoint}/${webhookToDelete.id}`);
|
|
|
|
await user.sync();
|
|
|
|
const webhook = user.webhooks[0];
|
|
|
|
expect(remainingWebhook.id).to.eql(webhook.id);
|
|
expect(remainingWebhook.url).to.eql(webhook.url);
|
|
expect(remainingWebhook.type).to.eql(webhook.type);
|
|
expect(remainingWebhook.options).to.eql(webhook.options);
|
|
});
|
|
|
|
it('returns an error if webhook with id does not exist', async () => {
|
|
await expect(user.del(`${endpoint}/id-that-does-not-exist`)).to.eventually.be.rejected.and.eql({
|
|
code: 404,
|
|
error: 'NotFound',
|
|
message: t('noWebhookWithId', { id: 'id-that-does-not-exist' }),
|
|
});
|
|
});
|
|
});
|