fix(backend): Merge-conflicten opgelost & testen gerepareerd.
This commit is contained in:
parent
d6dd7fb3bf
commit
620a988c6b
8 changed files with 23 additions and 9 deletions
|
@ -15,9 +15,15 @@ import { LearningObjectIdentifier } from '../entities/content/learning-object-id
|
|||
export async function getSubmissionsHandler(req: Request, res: Response): Promise<void> {
|
||||
const loHruid = req.params.hruid;
|
||||
const lang = languageMap[req.query.language as string] || Language.Dutch;
|
||||
const version = req.query.version || 1;
|
||||
const version = parseInt(req.query.version as string) ?? 1;
|
||||
|
||||
const submissions = await getSubmissionsForLearningObjectAndAssignment(loHruid, lang, version, req.query.classId, req.query.assignmentId);
|
||||
const submissions = await getSubmissionsForLearningObjectAndAssignment(
|
||||
loHruid,
|
||||
lang,
|
||||
version,
|
||||
req.query.classId as string,
|
||||
parseInt(req.query.assignmentId as string)
|
||||
);
|
||||
|
||||
res.json(submissions);
|
||||
}
|
||||
|
|
|
@ -62,7 +62,9 @@ export class QuestionRepository extends DwengoEntityRepository<Question> {
|
|||
|
||||
public async findAllByAssignment(assignment: Assignment): Promise<Question[]> {
|
||||
return this.find({
|
||||
author: assignment.groups.flatMap((group) => group.members),
|
||||
inGroup: {
|
||||
$contained: assignment.groups
|
||||
},
|
||||
learningObjectHruid: assignment.learningPathHruid,
|
||||
learningObjectLanguage: assignment.learningPathLanguage,
|
||||
});
|
||||
|
|
|
@ -32,7 +32,7 @@ export function mapToSubmissionDTOId(submission: Submission): SubmissionDTOId {
|
|||
};
|
||||
}
|
||||
|
||||
export function mapToSubmission(submissionDTO: SubmissionDTO, submitter: Student, onBehalfOf: Group | undefined): Submission {
|
||||
export function mapToSubmission(submissionDTO: SubmissionDTO, submitter: Student, onBehalfOf: Group): Submission {
|
||||
return getSubmissionRepository().create({
|
||||
learningObjectHruid: submissionDTO.learningObjectIdentifier.hruid,
|
||||
learningObjectLanguage: submissionDTO.learningObjectIdentifier.language,
|
||||
|
|
|
@ -33,7 +33,7 @@ export async function getAllSubmissions(loId: LearningObjectIdentifier): Promise
|
|||
|
||||
export async function createSubmission(submissionDTO: SubmissionDTO): Promise<SubmissionDTO> {
|
||||
const submitter = await fetchStudent(submissionDTO.submitter.username);
|
||||
const group = submissionDTO.group ? await getExistingGroupFromGroupDTO(submissionDTO.group) : undefined;
|
||||
const group = await getExistingGroupFromGroupDTO(submissionDTO.group!);
|
||||
|
||||
const submissionRepository = getSubmissionRepository();
|
||||
const submission = mapToSubmission(submissionDTO, submitter, group);
|
||||
|
|
|
@ -32,7 +32,7 @@ describe('AssignmentRepository', () => {
|
|||
});
|
||||
|
||||
it('should find all by username of the responsible teacher', async () => {
|
||||
const result = await assignmentRepository.findAllByResponsibleTeacher('FooFighters');
|
||||
const result = await assignmentRepository.findAllByResponsibleTeacher('testleerkracht1');
|
||||
const resultIds = result.map((it) => it.id).sort((a, b) => (a ?? 0) - (b ?? 0));
|
||||
|
||||
expect(resultIds).toEqual([1, 3, 4]);
|
||||
|
|
|
@ -66,7 +66,7 @@ describe('SubmissionRepository', () => {
|
|||
let assignment: Assignment | null;
|
||||
let loId: LearningObjectIdentifier;
|
||||
it('should find all submissions for a certain learning object and assignment', async () => {
|
||||
clazz = await classRepository.findById('id01');
|
||||
clazz = await classRepository.findById('8764b861-90a6-42e5-9732-c0d9eb2f55f9');
|
||||
assignment = await assignmentRepository.findByClassAndId(clazz!, 1);
|
||||
loId = {
|
||||
hruid: 'id02',
|
||||
|
|
|
@ -37,7 +37,7 @@ describe('QuestionRepository', () => {
|
|||
const id = new LearningObjectIdentifier('id03', Language.English, 1);
|
||||
const student = await studentRepository.findByUsername('Noordkaap');
|
||||
|
||||
const clazz = await getClassRepository().findById('id01');
|
||||
const clazz = await getClassRepository().findById('8764b861-90a6-42e5-9732-c0d9eb2f55f9');
|
||||
const assignment = await getAssignmentRepository().findByClassAndId(clazz!, 1);
|
||||
const group = await getGroupRepository().findByAssignmentAndGroupNumber(assignment!, 1);
|
||||
await questionRepository.createQuestion({
|
||||
|
@ -56,7 +56,7 @@ describe('QuestionRepository', () => {
|
|||
let assignment: Assignment | null;
|
||||
let loId: LearningObjectIdentifier;
|
||||
it('should find all questions for a certain learning object and assignment', async () => {
|
||||
clazz = await getClassRepository().findById('id01');
|
||||
clazz = await getClassRepository().findById('8764b861-90a6-42e5-9732-c0d9eb2f55f9');
|
||||
assignment = await getAssignmentRepository().findByClassAndId(clazz!, 1);
|
||||
loId = {
|
||||
hruid: 'id05',
|
||||
|
|
|
@ -11,6 +11,12 @@ export interface QuestionDTO {
|
|||
content: string;
|
||||
}
|
||||
|
||||
export interface QuestionData {
|
||||
author?: string;
|
||||
content: string;
|
||||
inGroup: GroupDTO;
|
||||
}
|
||||
|
||||
export interface QuestionId {
|
||||
learningObjectIdentifier: LearningObjectIdentifierDTO;
|
||||
sequenceNumber: number;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue