diff --git a/test/api/v3/integration/debug/POST-debug_boss-rage.test.js b/test/api/v3/integration/debug/POST-debug_boss-rage.test.js new file mode 100644 index 0000000000..91b8f2511f --- /dev/null +++ b/test/api/v3/integration/debug/POST-debug_boss-rage.test.js @@ -0,0 +1,73 @@ +import nconf from 'nconf'; +import { + generateUser, + createAndPopulateGroup, +} from '../../../../helpers/api-integration/v3'; + +describe('POST /debug/boss-rage', () => { + let user; + let nconfStub; + + beforeEach(async () => { + user = await generateUser(); + }); + + beforeEach(() => { + nconfStub = sandbox.stub(nconf, 'get'); + nconfStub.withArgs('DEBUG_ENABLED').returns(true); + nconfStub.withArgs('BASE_URL').returns('https://example.com'); + }); + + afterEach(() => { + nconfStub.restore(); + }); + + it('errors if user is not in a party', async () => { + await expect(user.post('/debug/boss-rage')) + .to.eventually.be.rejected.and.deep.equal({ + code: 400, + error: 'BadRequest', + message: 'User not in a party.', + }); + }); + + it('returns error when not in production mode', async () => { + nconfStub.withArgs('DEBUG_ENABLED').returns(false); + + await expect(user.post('/debug/boss-rage')) + .to.eventually.be.rejected.and.deep.equal({ + code: 404, + error: 'NotFound', + message: 'Not found.', + }); + }); + + context('user is in a party', async () => { + let party; + + beforeEach(async () => { + const { group, groupLeader } = await createAndPopulateGroup({ + groupDetails: { + name: 'Test Party', + type: 'party', + }, + members: 2, + }); + party = group; + user = groupLeader; + }); + + it('increases boss rage to 50', async () => { + await user.post('/debug/boss-rage'); + await party.sync(); + expect(party.quest.progress.rage).to.eql(50); + }); + + it('increases boss rage to 100', async () => { + await user.post('/debug/boss-rage'); + await user.post('/debug/boss-rage'); + await party.sync(); + expect(party.quest.progress.rage).to.eql(100); + }); + }); +}); diff --git a/website/client/src/components/appFooter.vue b/website/client/src/components/appFooter.vue index 04ec2b3372..ef208ed25c 100644 --- a/website/client/src/components/appFooter.vue +++ b/website/client/src/components/appFooter.vue @@ -402,6 +402,10 @@ tooltip="+1000 to boss quests. 300 items to collection quests" @click="addQuestProgress()" >Quest Progress Up + + Boss Rage 😡