skillbox/client/cypress/fixtures/mocks.js

88 lines
2.2 KiB
JavaScript

const selectedClass = {
id: 'selectedClassId',
name: 'Moordale',
readOnly: false,
code: 'XXXX',
members: []
};
let classMemberIndex = 0;
function* classMemberIdGenerator() {
while (classMemberIndex < 99) {
classMemberIndex += 1;
yield btoa(`ClassMemberNode:${classMemberIndex}`);
}
}
const classMemberIdIterator = classMemberIdGenerator();
const getClassMemberId = () => {
return classMemberIdIterator.next().value;
};
export default {
UUID: () => '123-456-789',
GenericStreamFieldType: () => ({type: 'text_block', value: 'Generic Stream Field Type'}),
DateTime: () => '2021-01-01Z10:01:23',
SnapshotNode: () => ({
// id: ID!
// module: ModuleNode!
chapters: [],
// chapters: [SnapshotChapterNode]
// hiddenContentBlocks(offset: Int, before: String, after: String, first: Int, last: Int, slug: String, title: String): ContentBlockNodeConnection!
// created: DateTime!
// creator: String!
// shared: Boolean!
// objectiveGroups: [SnapshotObjectiveGroupNode]
// hiddenObjectives(offset: Int, before: String, after: String, first: Int, last: Int, text: String): ObjectiveNodeConnection!
title: 'MockSnapshotTitle',
metaTitle: 'MockSnapshotMetaTitle',
// heroImage: String
// changes: SnapshotChangesNode
// mine: Boolean
}),
ChapterNode: () => ({
slug: 'chapter-slug',
id: 'chapter-id',
title: 'chapter-title',
description: 'chapter-description',
}),
ContentBlockNode: () => ({
contents: [],
title: 'content-block-title',
slug: 'content-block-slug',
userCreated: false,
type: '',
id: 'content-block-id',
}),
AssignmentNode: () => ({
id: 'assignment-id',
title: 'Assignment Title',
assignment: 'Assignment Text',
solution: 'Assignment Solution',
}),
PrivateUserNode: () => ({
readOnly: false,
onboardingVisited: true,
selectedClass,
schoolClasses: {
edges: [
{node: selectedClass}
]
}
}),
SchoolClassNode: () => ({
readOnly: false
}),
ClassMemberNode: () => ({
firstName: 'First Name',
lastName: 'Last Name',
active: true,
isTeacher: false,
isMe: false,
id: getClassMemberId()
})
};