feat: Admin定价管理界面 + 定价DB配置化 (P2)
This commit is contained in:
@@ -3,6 +3,7 @@ import { getModelToken } from '@nestjs/mongoose'
|
||||
import { PaymentController } from './payment.controller'
|
||||
import { WechatPayService } from './wechat-pay.service'
|
||||
import { QuotaService } from '../user/quota.service'
|
||||
import { PricingService } from '../schemas/pricing.service'
|
||||
|
||||
describe('PaymentController', () => {
|
||||
let controller: PaymentController
|
||||
@@ -10,6 +11,7 @@ describe('PaymentController', () => {
|
||||
let mockOrderModel: any
|
||||
let mockWechatPay: any
|
||||
let mockQuotaService: any
|
||||
let mockPricingService: any
|
||||
|
||||
const mockUserId = '507f1f77bcf86cd799439011'
|
||||
|
||||
@@ -32,6 +34,17 @@ describe('PaymentController', () => {
|
||||
grantCredits: jest.fn().mockResolvedValue(undefined),
|
||||
setPlanQuota: jest.fn().mockResolvedValue(undefined),
|
||||
}
|
||||
mockPricingService = {
|
||||
getConfig: jest.fn().mockResolvedValue({
|
||||
interview: { pricePerSession: 500, creditsPerPurchase: 1 },
|
||||
resumeOptimize: { freeLimit: 3, pricePerOptimize: 300, creditsPerPurchase: 1 },
|
||||
resumeDownload: { pricePerDownload: 200, creditsPerPurchase: 1 },
|
||||
plans: {
|
||||
growth: { price: 1990, durationDays: 30, credits: { interview: 999, resumeOptimize: 20, resumeDownload: 10 }, features: [] },
|
||||
sprint: { price: 4990, durationDays: 30, credits: { interview: 999, resumeOptimize: 50, resumeDownload: 30 }, features: [] },
|
||||
},
|
||||
}),
|
||||
}
|
||||
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [PaymentController],
|
||||
@@ -40,6 +53,7 @@ describe('PaymentController', () => {
|
||||
{ provide: getModelToken('PaymentOrder'), useValue: mockOrderModel },
|
||||
{ provide: WechatPayService, useValue: mockWechatPay },
|
||||
{ provide: QuotaService, useValue: mockQuotaService },
|
||||
{ provide: PricingService, useValue: mockPricingService },
|
||||
],
|
||||
}).compile()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user