feat: Implement get subscription API endpoint
This commit is contained in:
21
packages/backend/test/factories/subscription.js
Normal file
21
packages/backend/test/factories/subscription.js
Normal file
@@ -0,0 +1,21 @@
|
||||
import { DateTime } from 'luxon';
|
||||
import { createUser } from './user';
|
||||
import Subscription from '../../src/models/subscription.ee.js';
|
||||
|
||||
export const createSubscription = async (params = {}) => {
|
||||
params.userId = params?.userId || (await createUser()).id;
|
||||
params.paddleSubscriptionId =
|
||||
params?.paddleSubscriptionId || 'paddleSubscriptionId';
|
||||
|
||||
params.paddlePlanId = params?.paddlePlanId || '47384';
|
||||
params.updateUrl = params?.updateUrl || 'https://example.com/update-url';
|
||||
params.cancelUrl = params?.cancelUrl || 'https://example.com/cancel-url';
|
||||
params.status = params?.status || 'active';
|
||||
params.nextBillAmount = params?.nextBillAmount || '20';
|
||||
params.nextBillDate =
|
||||
params?.nextBillDate || DateTime.now().plus({ days: 30 }).toISODate();
|
||||
|
||||
const subscription = await Subscription.query().insert(params).returning('*');
|
||||
|
||||
return subscription;
|
||||
};
|
@@ -0,0 +1,27 @@
|
||||
const getSubscriptionMock = (subscription) => {
|
||||
return {
|
||||
data: {
|
||||
id: subscription.id,
|
||||
paddlePlanId: subscription.paddlePlanId,
|
||||
paddleSubscriptionId: subscription.paddleSubscriptionId,
|
||||
cancelUrl: subscription.cancelUrl,
|
||||
updateUrl: subscription.updateUrl,
|
||||
status: subscription.status,
|
||||
nextBillAmount: subscription.nextBillAmount,
|
||||
nextBillDate: subscription.nextBillDate.toISOString(),
|
||||
lastBillDate: subscription.lastBillDate,
|
||||
cancellationEffectiveDate: subscription.cancellationEffectiveDate,
|
||||
createdAt: subscription.createdAt.getTime(),
|
||||
updatedAt: subscription.updatedAt.getTime(),
|
||||
},
|
||||
meta: {
|
||||
count: 1,
|
||||
currentPage: null,
|
||||
isArray: false,
|
||||
totalPages: null,
|
||||
type: 'Subscription',
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
export default getSubscriptionMock;
|
Reference in New Issue
Block a user