mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 13:47:33 +01:00
* feat(world-boss): barebones API * fix(world): use Express respond for better JSON * fix(api): respond with code 200 * feat(content): canonical Dysheartener desc and Rage * fix(world-boss): enable progress * WIP(test): world state API * WIP(test): refactor world boss setup * WIP(test): better expectations * fix(test): more expect polishing * feat(event): server side World Boss * fix(strings): accidental deletion * fix(content): include encouragement after Rage * refactor(world-boss): address comments
36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
import { TAVERN_ID } from '../../../../../website/server/models/group';
|
|
import { updateDocument } from '../../../../helpers/mongo';
|
|
import {
|
|
requester,
|
|
resetHabiticaDB,
|
|
} from '../../../../helpers/api-v3-integration.helper';
|
|
|
|
describe('GET /world-state', () => {
|
|
before(async () => {
|
|
await resetHabiticaDB();
|
|
});
|
|
|
|
it('returns empty worldBoss object when world boss is not active (and does not require authentication)', async () => {
|
|
const res = await requester().get('/world-state');
|
|
expect(res.worldBoss).to.eql({});
|
|
});
|
|
|
|
it('returns Tavern quest data when world boss is active', async () => {
|
|
await updateDocument('groups', {_id: TAVERN_ID}, {quest: {active: true, key: 'dysheartener', progress: {hp: 50000, rage: 9999}}});
|
|
|
|
const res = await requester().get('/world-state');
|
|
expect(res).to.have.deep.property('worldBoss');
|
|
|
|
expect(res.worldBoss).to.eql({
|
|
active: true,
|
|
extra: {},
|
|
key: 'dysheartener',
|
|
progress: {
|
|
collect: {},
|
|
hp: 50000,
|
|
rage: 9999,
|
|
},
|
|
});
|
|
});
|
|
});
|