mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 07:07:35 +01:00
fix(test): add missing helper to v4
This commit is contained in:
@@ -5,6 +5,8 @@ import { v4 as generateUUID } from 'uuid';
|
|||||||
import { ApiUser, ApiGroup, ApiChallenge } from '../api-classes';
|
import { ApiUser, ApiGroup, ApiChallenge } from '../api-classes';
|
||||||
import { requester } from '../requester';
|
import { requester } from '../requester';
|
||||||
import * as Tasks from '../../../../website/server/models/task';
|
import * as Tasks from '../../../../website/server/models/task';
|
||||||
|
import payments from '../../../../website/server/libs/payments/payments';
|
||||||
|
import { model as User } from '../../../../website/server/models/user';
|
||||||
|
|
||||||
// Creates a new user and returns it
|
// Creates a new user and returns it
|
||||||
// If you need the user to have specific requirements,
|
// If you need the user to have specific requirements,
|
||||||
@@ -77,6 +79,26 @@ export async function generateGroup (leader, details = {}, update = {}) {
|
|||||||
return apiGroup;
|
return apiGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function _upgradeToGroupPlan (groupLeader, group) {
|
||||||
|
const groupLeaderModel = await User.findById(groupLeader._id).exec();
|
||||||
|
|
||||||
|
// Create subscription
|
||||||
|
const paymentData = {
|
||||||
|
user: groupLeaderModel,
|
||||||
|
groupId: group._id,
|
||||||
|
sub: {
|
||||||
|
key: 'basic_3mo',
|
||||||
|
},
|
||||||
|
customerId: 'customer-id',
|
||||||
|
paymentMethod: 'Payment Method',
|
||||||
|
headers: {
|
||||||
|
'x-client': 'habitica-web',
|
||||||
|
'user-agent': '',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
await payments.createSubscription(paymentData);
|
||||||
|
}
|
||||||
|
|
||||||
// This is generate group + the ability to create
|
// This is generate group + the ability to create
|
||||||
// real users to populate it. The settings object
|
// real users to populate it. The settings object
|
||||||
// takes in:
|
// takes in:
|
||||||
@@ -95,6 +117,7 @@ export async function generateGroup (leader, details = {}, update = {}) {
|
|||||||
export async function createAndPopulateGroup (settings = {}) {
|
export async function createAndPopulateGroup (settings = {}) {
|
||||||
const numberOfMembers = settings.members || 0;
|
const numberOfMembers = settings.members || 0;
|
||||||
const numberOfInvites = settings.invites || 0;
|
const numberOfInvites = settings.invites || 0;
|
||||||
|
const upgradeToGroupPlan = settings.upgradeToGroupPlan || false;
|
||||||
const { groupDetails } = settings;
|
const { groupDetails } = settings;
|
||||||
const leaderDetails = settings.leaderDetails || { balance: 10 };
|
const leaderDetails = settings.leaderDetails || { balance: 10 };
|
||||||
|
|
||||||
@@ -124,6 +147,10 @@ export async function createAndPopulateGroup (settings = {}) {
|
|||||||
|
|
||||||
await Promise.all(invitees.map(invitee => invitee.sync()));
|
await Promise.all(invitees.map(invitee => invitee.sync()));
|
||||||
|
|
||||||
|
if (upgradeToGroupPlan) {
|
||||||
|
await _upgradeToGroupPlan(groupLeader, group);
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
groupLeader,
|
groupLeader,
|
||||||
group,
|
group,
|
||||||
|
|||||||
Reference in New Issue
Block a user