const makeId = require("../../util/makeId"); const buildSerializer = require("./BuildSerializer"); const deploySerializer = require("./DeploySerializer"); const unitTestSerializer = require("./UnitTestSerializer"); const functionalTestSerializer = require("./FunctionalTestSerializer"); /** * @description 代码作业项目的基本信息 * @typedef {Object} ProjectSerializerType * @property {number} id 代码作业项目 id * @property {number} codeId 代码作业 id * @property {string} url 项目 git 地址 * @property {string} name 项目名称 * @property {BuildSerializerType[]} buildList 构建 list * @property {DeploySerializerType[]} deployList 部署 list * @property {UnitTestSerializerType[]} unitTestList 单元测试 list * @property {FunctionalTestSerializerType[]} functionTestList 页面功能测试 list */ /** * @description 生成ProjectSerializerType * @returns {ProjectSerializerType} */ module.exports = ({ id = makeId(), codeId = makeId() }) => { return { id, codeId, url: "www.url.com/xiaobai/handsome/smart", name: "project-name", buildList: [ buildSerializer({ buildState: 0 }), buildSerializer({ buildState: 1 }), buildSerializer({ buildState: -1 }) ], deployList: [ deploySerializer({ deployState: 0 }), deploySerializer({ deployState: 1 }), deploySerializer({ deployState: -1 }) ], unitTestList: [ unitTestSerializer({}), unitTestSerializer({}), unitTestSerializer({}), unitTestSerializer({}) ], functionTestList: [ functionalTestSerializer({}), functionalTestSerializer({}), functionalTestSerializer({}), functionalTestSerializer({}) ], config: {}, pageUrl: "www.pageUrl.com/xiaobai/handsome/smart" }; };