Files
habitica/test/api/v3/integration/webhook/DELETE-user_delete_webhook.test.js
Matteo Pagliazzi 85fb5f33aa fix test lint
2019-10-08 20:45:38 +02:00

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' }),
});
});
});