mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 06:37:23 +01:00
World Boss 2018 (Server) (#9995)
* 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
This commit is contained in:
35
test/api/v3/integration/world-state/GET-world-state.test.js
Normal file
35
test/api/v3/integration/world-state/GET-world-state.test.js
Normal file
@@ -0,0 +1,35 @@
|
||||
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,
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user