51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { classroomGenerationResumeMode } from '@/lib/classroom/generation-resume-policy';
|
|
|
|
describe('classroom generation resume policy', () => {
|
|
it('never regenerates published learner content even when outlines are present', () => {
|
|
expect(
|
|
classroomGenerationResumeMode({
|
|
learnerMode: true,
|
|
generationComplete: false,
|
|
outlineOrders: [1, 2],
|
|
sceneOrders: [1],
|
|
}),
|
|
).toBe('none');
|
|
expect(
|
|
classroomGenerationResumeMode({
|
|
learnerMode: true,
|
|
generationComplete: true,
|
|
outlineOrders: [1],
|
|
sceneOrders: [1],
|
|
}),
|
|
).toBe('none');
|
|
});
|
|
|
|
it('retains interrupted scene and media recovery for authoring classrooms', () => {
|
|
expect(
|
|
classroomGenerationResumeMode({
|
|
learnerMode: false,
|
|
generationComplete: false,
|
|
outlineOrders: [1, 2],
|
|
sceneOrders: [1],
|
|
}),
|
|
).toBe('scenes');
|
|
expect(
|
|
classroomGenerationResumeMode({
|
|
learnerMode: false,
|
|
generationComplete: true,
|
|
outlineOrders: [1, 2],
|
|
sceneOrders: [1, 2],
|
|
}),
|
|
).toBe('media');
|
|
expect(
|
|
classroomGenerationResumeMode({
|
|
learnerMode: false,
|
|
generationComplete: false,
|
|
outlineOrders: [],
|
|
sceneOrders: [],
|
|
}),
|
|
).toBe('none');
|
|
});
|
|
});
|