| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /**
- * ================================================================
- * E2E Test Data Factory - Fixtures Helper
- * ================================================================
- * Creates test data via API calls for Playwright E2E tests
- *
- * Usage:
- * var { createTask, createWish, createAssessmentOrder, getTestData } = require('./helpers/fixtures');
- * var task = await createTask(auth, { title: 'Custom Task' });
- * var wish = await createWish(auth, { points: 500 });
- * var order = await createAssessmentOrder(auth, { packageId: 2 });
- * var testData = getTestData();
- * ================================================================
- */
- var { BASE_URL } = require('./auth');
- var { authHeaders } = require('./utils');
- /**
- * Create a task via API
- * @param {Object} auth - Auth object with token
- * @param {Object} overrides - Optional overrides for default body
- * @returns {Promise<Object>} - Response JSON or error response
- */
- async function createTask(auth, overrides) {
- var PlaywrightTest = require('@playwright/test');
- var page = await PlaywrightTest.request.newContext();
- try {
- var defaultBody = {
- title: '测试任务',
- childId: 1003,
- type: 'daily',
- deadline: '2099-12-31'
- };
- var body = Object.assign({}, defaultBody, overrides || {});
- var response = await page.request.post(BASE_URL + '/api/tasks/create', {
- headers: authHeaders(auth),
- data: body
- });
- return await response.json();
- } catch (error) {
- return {
- code: -1,
- message: error.message,
- data: null
- };
- } finally {
- await page.dispose();
- }
- }
- /**
- * Create a wish via API
- * @param {Object} auth - Auth object with token
- * @param {Object} overrides - Optional overrides for default body
- * @returns {Promise<Object>} - Response JSON or error response
- */
- async function createWish(auth, overrides) {
- var PlaywrightTest = require('@playwright/test');
- var page = await PlaywrightTest.request.newContext();
- try {
- var defaultBody = {
- title: '测试心愿',
- points: 100,
- childId: 1003
- };
- var body = Object.assign({}, defaultBody, overrides || {});
- var response = await page.request.post(BASE_URL + '/api/wishes/create', {
- headers: authHeaders(auth),
- data: body
- });
- return await response.json();
- } catch (error) {
- return {
- code: -1,
- message: error.message,
- data: null
- };
- } finally {
- await page.dispose();
- }
- }
- /**
- * Create an assessment order via API
- * @param {Object} auth - Auth object with token
- * @param {Object} overrides - Optional overrides for default body
- * @returns {Promise<Object>} - Response JSON or error response
- */
- async function createAssessmentOrder(auth, overrides) {
- var PlaywrightTest = require('@playwright/test');
- var page = await PlaywrightTest.request.newContext();
- try {
- var defaultBody = {
- childId: 1003,
- packageId: 1
- };
- var body = Object.assign({}, defaultBody, overrides || {});
- var response = await page.request.post(BASE_URL + '/api/dan-assessment/order/create', {
- headers: authHeaders(auth),
- data: body
- });
- return await response.json();
- } catch (error) {
- return {
- code: -1,
- message: error.message,
- data: null
- };
- } finally {
- await page.dispose();
- }
- }
- /**
- * Get static test data mapping
- * @returns {Object} - Object containing all test user IDs and family IDs
- */
- function getTestData() {
- return {
- parentUserId: 1002,
- childUserId: 1003,
- child2UserId: 1004,
- teacherUserId: 1005,
- nutritionistUserId: 1006,
- butlerUserId: 1007,
- assessorUserId: 1008,
- vendorUserId: 1009,
- adminUserId: 1001,
- familyId: 2001
- };
- }
- // ================================================================
- // Module exports (CommonJS)
- // ================================================================
- module.exports = {
- createTask: createTask,
- createWish: createWish,
- createAssessmentOrder: createAssessmentOrder,
- getTestData: getTestData
- };
|