35 lines
1.8 KiB
TypeScript
35 lines
1.8 KiB
TypeScript
import { beforeAll, describe, expect, it } from 'vitest';
|
|
import processingService from '../../../../src/services/learning-objects/processing/processing-service';
|
|
import {
|
|
testLearningObjectEssayQuestion,
|
|
testLearningObjectMultipleChoice,
|
|
testLearningObjectPnNotebooks,
|
|
} from '../../../test_assets/content/learning-objects.testdata';
|
|
import { getHtmlRenderingForTestLearningObject } from '../../../test-utils/get-html-rendering';
|
|
import { getLearningObjectRepository } from '../../../../src/data/repositories';
|
|
import { setupTestApp } from '../../../setup-tests';
|
|
|
|
describe('ProcessingService', () => {
|
|
beforeAll(async () => {
|
|
await setupTestApp();
|
|
});
|
|
|
|
it('renders a markdown learning object correctly', async () => {
|
|
const markdownLearningObject = getLearningObjectRepository().create(testLearningObjectPnNotebooks);
|
|
const result = await processingService.render(markdownLearningObject);
|
|
// Set newlines so your tests are platform-independent.
|
|
expect(result).toEqual(getHtmlRenderingForTestLearningObject(markdownLearningObject).replace(/\r\n/g, '\n'));
|
|
});
|
|
|
|
it('renders a multiple choice question correctly', async () => {
|
|
const testLearningObject = getLearningObjectRepository().create(testLearningObjectMultipleChoice);
|
|
const result = await processingService.render(testLearningObject);
|
|
expect(result).toEqual(getHtmlRenderingForTestLearningObject(testLearningObjectMultipleChoice).replace(/\r\n/g, '\n'));
|
|
});
|
|
|
|
it('renders an essay question correctly', async () => {
|
|
const essayLearningObject = getLearningObjectRepository().create(testLearningObjectEssayQuestion);
|
|
const result = await processingService.render(essayLearningObject);
|
|
expect(result).toEqual(getHtmlRenderingForTestLearningObject(essayLearningObject).replace(/\r\n/g, '\n'));
|
|
});
|
|
});
|