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

44 lines
1.3 KiB
JavaScript

import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
describe('POST /user/purchase-hourglass/:type/:key', () => {
let user;
beforeEach(async () => {
user = await generateUser({
'purchased.plan.consecutive.trinkets': 2,
});
});
// More tests in common code unit tests
it('buys an hourglass pet', async () => {
const response = await user.post('/user/purchase-hourglass/pets/MantisShrimp-Base');
await user.sync();
expect(response.message).to.eql(t('hourglassPurchase'));
expect(user.purchased.plan.consecutive.trinkets).to.eql(1);
expect(user.items.pets['MantisShrimp-Base']).to.eql(5);
});
it('buys an hourglass quest', async () => {
const response = await user.post('/user/purchase-hourglass/quests/robot');
await user.sync();
expect(response.message).to.eql(t('hourglassPurchase'));
expect(user.purchased.plan.consecutive.trinkets).to.eql(1);
expect(user.items.quests.robot).to.eql(1);
});
it('buys multiple hourglass quests', async () => {
const response = await user.post('/user/purchase-hourglass/quests/robot', { quantity: 2 });
await user.sync();
expect(response.message).to.eql(t('hourglassPurchase'));
expect(user.purchased.plan.consecutive.trinkets).to.eql(0);
expect(user.items.quests.robot).to.eql(2);
});
});