|
|
@@ -16,33 +16,38 @@ const basicExtendsTypes = () => ({
|
|
|
CHOICE_PROBLEM_TYPE: (problemType) =>
|
|
|
problemType || randomArrayValue(['SINGLE', 'MULTI']),
|
|
|
EXAM_STATUS: (examStatus) =>
|
|
|
- examStatus || randomArrayValue(['READY', 'AVAILABLE', 'FINISHED', 'CLOSED'])
|
|
|
+ // examStatus || randomArrayValue(['READY', 'AVAILABLE', 'FINISHED', 'CLOSED'])
|
|
|
+ examStatus || randomArrayValue(['READY', 'AVAILABLE', 'FINISHED']),
|
|
|
+ QUESTION_TYPE: () =>
|
|
|
+ randomArrayValue(['choice', 'multi_choice', 'blank', 'code'])
|
|
|
})
|
|
|
|
|
|
const serializersPlugin = (mock) => ({
|
|
|
+ USER_SERIALIZER: () =>
|
|
|
+ mock({
|
|
|
+ 'id|1-1000': 1,
|
|
|
+ username: '@CWORD',
|
|
|
+ email: '@EMAIL',
|
|
|
+ 'phone|10000000000-20000000000': 1,
|
|
|
+ role: '@USER_ROLE'
|
|
|
+ }),
|
|
|
EXAM_SERIALIZER: (examId) =>
|
|
|
mock({
|
|
|
- 'id|1-2000': 1,
|
|
|
- title: '@CTITLE',
|
|
|
- startAt: '@DATETIME',
|
|
|
- endAt: '@DATETIME',
|
|
|
- 'lastTime|1-3': 1,
|
|
|
- status: '@EXAM_STATUS',
|
|
|
- creator: {
|
|
|
- 'id|1-1000': 1,
|
|
|
- username: '@CNAME'
|
|
|
- },
|
|
|
- joined: '@BOOLEAN',
|
|
|
- isReentryPermitted: '@BOOLEAN',
|
|
|
- inviteCode: '@WORD(5)',
|
|
|
- 'difficulty|0-100': 1,
|
|
|
- comment: '@CPARAGRAPH'
|
|
|
+ antiCheating: '@BOOL',
|
|
|
+ comment: '@CPARAGRAPH',
|
|
|
+ 'creatorId|100-1000': 1,
|
|
|
+ 'difficulty|10-100': 1,
|
|
|
+ endTime: '@DATETIME',
|
|
|
+ 'examId|1-2000': 1,
|
|
|
+ position: '@CTITLE',
|
|
|
+ 'skills|1-3': ['@CWORD'],
|
|
|
+ startTime: '@DATETIME',
|
|
|
+ examName: '@CTITLE',
|
|
|
+ inviteCode: '@WORD(5)'
|
|
|
}),
|
|
|
PAGE_SERIALIZER: () => ({
|
|
|
- page: 1,
|
|
|
- limit: 20,
|
|
|
- size: 20,
|
|
|
- total: 20
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 20
|
|
|
}),
|
|
|
|
|
|
SINGLE_CHOICE_QUESTION_SERIALIZER: () =>
|
|
|
@@ -131,18 +136,48 @@ const serializersPlugin = (mock) => ({
|
|
|
EXAM_QUESTION_SERIALIZER: () =>
|
|
|
mock({
|
|
|
'id|1-1000': 1,
|
|
|
- 'singleChoiceQuestions|15': ['@SINGLE_CHOICE_QUESTION_SERIALIZER'],
|
|
|
- 'multiChoiceQuestions|10': ['@MULTI_CHOICE_QUESTION_SERIALIZER'],
|
|
|
- 'codeQuestions|3': ['@CODE_QUESTION_SERIALIZER']
|
|
|
+ name: '@CTITLE',
|
|
|
+ questionAndScore: '@QUESTION_AND_SCORE_SERIALIZER'
|
|
|
+ }),
|
|
|
+ QUESTION_AND_SCORE_SERIALIZER: () => {
|
|
|
+ return {
|
|
|
+ '19030': 2,
|
|
|
+ '19031': 3,
|
|
|
+ '19033': 4,
|
|
|
+ '19035': 3,
|
|
|
+ '19037': 2
|
|
|
+ }
|
|
|
+ },
|
|
|
+ QUESTION_STEM_SERIALIZER: () =>
|
|
|
+ mock({
|
|
|
+ 'id|1-1000': 1,
|
|
|
+ stem: '@CPARAGRAPH',
|
|
|
+ type: '@QUESTION_TYPE',
|
|
|
+ options: '@OPTION_SERIALIZER',
|
|
|
+ keyPoints: '@CWORD',
|
|
|
+ 'tags|1-3': ['@CWORD'],
|
|
|
+ 'knowledgeId|1-3': ['@CWORD']
|
|
|
+ }),
|
|
|
+ OPTION_SERIALIZER: () =>
|
|
|
+ mock({
|
|
|
+ A: '@CSENTENCE',
|
|
|
+ B: '@CSENTENCE',
|
|
|
+ C: '@CSENTENCE',
|
|
|
+ D: '@CSENTENCE'
|
|
|
}),
|
|
|
- QUESTION_DETAIL_SERIALIZER: () => {
|
|
|
+ EXTENDED_QUESTION_SERIALIZER: () =>
|
|
|
mock({
|
|
|
'id|1-1000': 1,
|
|
|
stem: '@CPARAGRAPH',
|
|
|
- knowledgeId: '@CWORD',
|
|
|
- skillId: '@CWORD'
|
|
|
+ type: '@QUESTION_TYPE',
|
|
|
+ options: '@OPTION_SERIALIZER',
|
|
|
+ keyPoints: '@CWORD',
|
|
|
+ 'tags|1-3': ['@CWORD'],
|
|
|
+ 'knowledgeId|1-3': ['@CWORD'],
|
|
|
+ answer: 'A',
|
|
|
+ analysis: '@CPARAGRAPH',
|
|
|
+ lastModifiedTime: '@DATETIME'
|
|
|
})
|
|
|
- }
|
|
|
})
|
|
|
|
|
|
module.exports = function(random, mock) {
|