ProjectSerializer.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const makeId = require("../../util/makeId");
  2. const buildSerializer = require("./BuildSerializer");
  3. const deploySerializer = require("./DeploySerializer");
  4. const unitTestSerializer = require("./UnitTestSerializer");
  5. const functionalTestSerializer = require("./FunctionalTestSerializer");
  6. /**
  7. * @description 代码作业项目的基本信息
  8. * @typedef {Object} ProjectSerializerType
  9. * @property {number} id 代码作业项目 id
  10. * @property {number} codeId 代码作业 id
  11. * @property {string} url 项目 git 地址
  12. * @property {string} name 项目名称
  13. * @property {BuildSerializerType[]} buildList 构建 list
  14. * @property {DeploySerializerType[]} deployList 部署 list
  15. * @property {UnitTestSerializerType[]} unitTestList 单元测试 list
  16. * @property {FunctionalTestSerializerType[]} functionTestList 页面功能测试 list
  17. */
  18. /**
  19. * @description 生成ProjectSerializerType
  20. * @returns {ProjectSerializerType}
  21. */
  22. module.exports = ({ id = makeId(), codeId = makeId() }) => {
  23. return {
  24. id,
  25. codeId,
  26. url: "www.url.com/xiaobai/handsome/smart",
  27. name: "project-name",
  28. buildList: [
  29. buildSerializer({ buildState: 0 }),
  30. buildSerializer({ buildState: 1 }),
  31. buildSerializer({ buildState: -1 })
  32. ],
  33. deployList: [
  34. deploySerializer({ deployState: 0 }),
  35. deploySerializer({ deployState: 1 }),
  36. deploySerializer({ deployState: -1 })
  37. ],
  38. unitTestList: [
  39. unitTestSerializer({}),
  40. unitTestSerializer({}),
  41. unitTestSerializer({}),
  42. unitTestSerializer({})
  43. ],
  44. functionTestList: [
  45. functionalTestSerializer({}),
  46. functionalTestSerializer({}),
  47. functionalTestSerializer({}),
  48. functionalTestSerializer({})
  49. ],
  50. config: {},
  51. pageUrl: "www.pageUrl.com/xiaobai/handsome/smart"
  52. };
  53. };