manicanldes-backend/test/helpers/pricing.ts

36 lines
997 B
TypeScript

import { randomUUID } from 'node:crypto';
import type { IdentityApp } from './identity-app';
export function pricingInput() {
// Synthetic test rules; these are not Mani Candles tax or shipping settings.
return {
name: 'Test-' + randomUUID(),
currency: 'INR',
countryCode: 'IN',
region: '',
taxMode: 'EXCLUSIVE',
merchandiseTaxBps: 1800,
shippingFee: '50.00',
shippingTaxBps: 1800,
freeShippingMinimum: null,
};
}
export async function activatePricing(
ctx: IdentityApp,
changes: Record<string, unknown> = {},
) {
const policy = await ctx
.api()
.post('/api/v1/admin/pricing-policies')
.auth(ctx.token, { type: 'bearer' })
.send({ ...pricingInput(), ...changes })
.expect(201);
expect(policy.body.active).toBe(false);
await ctx
.api()
.patch('/api/v1/admin/pricing-policies/' + policy.body.id + '/status')
.auth(ctx.token, { type: 'bearer' })
.send({ active: true })
.expect(200);
return policy.body;
}