Files
habitica/test/api/v3/integration/user/POST-user_open_mystery_item.test.js
Phillip Thelen 6784d23a7c Add translated gear name to open-mystery-item call (#11306)
* Add translated gear name to open-mystery-item call

* Fix test

* fix mystery item text language
2019-08-16 19:40:49 +02:00

39 lines
1.3 KiB
JavaScript

import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
import content from '../../../../../website/common/script/content/index';
describe('POST /user/open-mystery-item', () => {
let user;
let mysteryItemKey = 'eyewear_special_summerRogue';
let mysteryItemIndex = content.gear.flat[mysteryItemKey].index;
let mysteryItemType = content.gear.flat[mysteryItemKey].type;
let mysteryItemText = content.gear.flat[mysteryItemKey].text();
beforeEach(async () => {
user = await generateUser({
'purchased.plan.mysteryItems': [mysteryItemKey],
notifications: [
{type: 'NEW_MYSTERY_ITEMS', data: { items: [mysteryItemKey] }},
],
});
});
// More tests in common code unit tests
it('opens a mystery item', async () => {
expect(user.notifications.length).to.equal(1);
let response = await user.post('/user/open-mystery-item');
await user.sync();
expect(user.notifications.length).to.equal(0);
expect(user.items.gear.owned[mysteryItemKey]).to.be.true;
expect(response.message).to.equal(t('mysteryItemOpened'));
expect(response.data.key).to.eql(mysteryItemKey);
expect(response.data.index).to.eql(mysteryItemIndex);
expect(response.data.type).to.eql(mysteryItemType);
expect(response.data.text).to.eql(mysteryItemText);
});
});