mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 14:17:22 +01:00
Upgrade tests tools and lint migrations and scripts (part 2) (#9998)
* upgrade gulp-babel * upgrade babel-eslint * upgrade eslint-friendly-formatter * start upgrading chai * start to upgrade eslint * restore skipped tests * start to upgrqde monk * fix linting and remove unused file * fix mocha notifications, and common tests * fix unit tests * start to fix initrgration tests * more integration tests fixes * upgrade monk to latest version * lint /scripts * migrations: start moving to /archive unused migrations and run eslint with --fix * lint migrations * fix more integration tests * fix test
This commit is contained in:
@@ -33,20 +33,20 @@ describe('POST /groups/:groupId/quests/accept', () => {
|
||||
context('failure conditions', () => {
|
||||
it('does not accept quest without an invite', async () => {
|
||||
await expect(leader.post(`/groups/${questingGroup._id}/quests/accept`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('questInviteNotFound'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('questInviteNotFound'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not accept quest for a group in which user is not a member', async () => {
|
||||
await expect(user.post(`/groups/${questingGroup._id}/quests/accept`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not accept quest for a guild', async () => {
|
||||
@@ -55,11 +55,11 @@ describe('POST /groups/:groupId/quests/accept', () => {
|
||||
});
|
||||
|
||||
await expect(guildLeader.post(`/groups/${guild._id}/quests/accept`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not accept invite twice', async () => {
|
||||
@@ -67,11 +67,11 @@ describe('POST /groups/:groupId/quests/accept', () => {
|
||||
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyAccepted'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyAccepted'),
|
||||
});
|
||||
});
|
||||
|
||||
it('clears the invalid invite from the user when the request fails', async () => {
|
||||
@@ -79,11 +79,11 @@ describe('POST /groups/:groupId/quests/accept', () => {
|
||||
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyAccepted'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyAccepted'),
|
||||
});
|
||||
|
||||
await partyMembers[0].sync();
|
||||
expect(partyMembers[0].party.quest.RSVPNeeded).to.be.false;
|
||||
@@ -96,11 +96,11 @@ describe('POST /groups/:groupId/quests/accept', () => {
|
||||
await partyMembers[1].post(`/groups/${questingGroup._id}/quests/accept`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('questAlreadyUnderway'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('questAlreadyUnderway'),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -32,11 +32,11 @@ describe('POST /groups/:groupId/quests/force-start', () => {
|
||||
let nonMember = await generateUser();
|
||||
|
||||
await expect(nonMember.post(`/groups/${questingGroup._id}/quests/force-start`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not force start quest for a guild', async () => {
|
||||
@@ -45,20 +45,20 @@ describe('POST /groups/:groupId/quests/force-start', () => {
|
||||
});
|
||||
|
||||
await expect(guildLeader.post(`/groups/${guild._id}/quests/force-start`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not force start for a party without a pending quest', async () => {
|
||||
await expect(leader.post(`/groups/${questingGroup._id}/quests/force-start`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('questNotPending'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('questNotPending'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not force start for a quest already underway', async () => {
|
||||
@@ -69,22 +69,22 @@ describe('POST /groups/:groupId/quests/force-start', () => {
|
||||
await partyMembers[2].post(`/groups/${questingGroup._id}/quests/accept`);
|
||||
|
||||
await expect(leader.post(`/groups/${questingGroup._id}/quests/force-start`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('questAlreadyUnderway'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('questAlreadyUnderway'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not allow non-quest leader or non-group leader to force start a quest', async () => {
|
||||
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/force-start`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('questOrGroupLeaderOnlyStartQuest'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('questOrGroupLeaderOnlyStartQuest'),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ describe('POST /groups/:groupId/quests/abort', () => {
|
||||
|
||||
it('returns an error for a group in which user is not a member', async () => {
|
||||
await expect(user.post(`/groups/${questingGroup._id}/quests/abort`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error when group is a guild', async () => {
|
||||
@@ -55,11 +55,11 @@ describe('POST /groups/:groupId/quests/abort', () => {
|
||||
});
|
||||
|
||||
await expect(guildLeader.post(`/groups/${guild._id}/quests/abort`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error when quest is not active', async () => {
|
||||
|
||||
@@ -41,11 +41,11 @@ describe('POST /groups/:groupId/quests/cancel', () => {
|
||||
|
||||
it('does not reject quest for a group in which user is not a member', async () => {
|
||||
await expect(user.post(`/groups/${questingGroup._id}/quests/cancel`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error when group is a guild', async () => {
|
||||
@@ -54,11 +54,11 @@ describe('POST /groups/:groupId/quests/cancel', () => {
|
||||
});
|
||||
|
||||
await expect(guildLeader.post(`/groups/${guild._id}/quests/cancel`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error when group is not on a quest', async () => {
|
||||
@@ -74,11 +74,11 @@ describe('POST /groups/:groupId/quests/cancel', () => {
|
||||
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/cancel`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('onlyLeaderCancelQuest'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('onlyLeaderCancelQuest'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not cancel a quest already underway', async () => {
|
||||
@@ -88,11 +88,11 @@ describe('POST /groups/:groupId/quests/cancel', () => {
|
||||
await partyMembers[1].post(`/groups/${questingGroup._id}/quests/accept`);
|
||||
|
||||
await expect(leader.post(`/groups/${questingGroup._id}/quests/cancel`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('cantCancelActiveQuest'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('cantCancelActiveQuest'),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -41,11 +41,11 @@ describe('POST /groups/:groupId/quests/leave', () => {
|
||||
|
||||
it('returns an error for a group in which user is not a member', async () => {
|
||||
await expect(user.post(`/groups/${questingGroup._id}/quests/leave`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error when group is a guild', async () => {
|
||||
@@ -54,11 +54,11 @@ describe('POST /groups/:groupId/quests/leave', () => {
|
||||
});
|
||||
|
||||
await expect(guildLeader.post(`/groups/${guild._id}/quests/leave`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error when quest is not active', async () => {
|
||||
@@ -89,11 +89,11 @@ describe('POST /groups/:groupId/quests/leave', () => {
|
||||
await partyMembers[1].post(`/groups/${questingGroup._id}/quests/reject`);
|
||||
|
||||
await expect(partyMembers[1].post(`/groups/${questingGroup._id}/quests/leave`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('notPartOfQuest'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('notPartOfQuest'),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ describe('POST /groups/:groupId/quests/reject', () => {
|
||||
|
||||
it('does not accept quest for a group in which user is not a member', async () => {
|
||||
await expect(user.post(`/groups/${questingGroup._id}/quests/accept`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 404,
|
||||
error: 'NotFound',
|
||||
message: t('groupNotFound'),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error when group is a guild', async () => {
|
||||
@@ -55,11 +55,11 @@ describe('POST /groups/:groupId/quests/reject', () => {
|
||||
});
|
||||
|
||||
await expect(guildLeader.post(`/groups/${guild._id}/quests/reject`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('guildQuestsNotSupported'),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error when group is not on a quest', async () => {
|
||||
@@ -76,11 +76,11 @@ describe('POST /groups/:groupId/quests/reject', () => {
|
||||
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/reject`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/reject`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyRejected'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyRejected'),
|
||||
});
|
||||
});
|
||||
|
||||
it('clears the user rsvp needed if the request fails because the request is invalid', async () => {
|
||||
@@ -88,11 +88,11 @@ describe('POST /groups/:groupId/quests/reject', () => {
|
||||
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/reject`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/reject`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyRejected'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyRejected'),
|
||||
});
|
||||
|
||||
await partyMembers[0].sync();
|
||||
expect(partyMembers[0].party.quest.RSVPNeeded).to.be.false;
|
||||
@@ -103,11 +103,11 @@ describe('POST /groups/:groupId/quests/reject', () => {
|
||||
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/reject`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyAccepted'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('questAlreadyAccepted'),
|
||||
});
|
||||
});
|
||||
|
||||
it('does not reject invite for a quest already underway', async () => {
|
||||
@@ -117,11 +117,11 @@ describe('POST /groups/:groupId/quests/reject', () => {
|
||||
await partyMembers[1].post(`/groups/${questingGroup._id}/quests/accept`);
|
||||
|
||||
await expect(partyMembers[0].post(`/groups/${questingGroup._id}/quests/reject`))
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('questAlreadyUnderway'),
|
||||
});
|
||||
.to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('questAlreadyUnderway'),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user