mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 05:37:22 +01:00
44 lines
1.3 KiB
JavaScript
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);
|
|
});
|
|
});
|