cyberhybridhub/test/models/incoming_question_test.dart
nathanAndrinoid 4459852f83
Some checks failed
Admin portal tests / test (push) Has been cancelled
spelling
2026-06-05 03:22:35 +00:00

48 lines
1.5 KiB
Dart

import 'package:cyberhybridhub/models/incoming_question.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
group('IncomingQuestion spelling routing', () {
test('pending spelling uses word tile even with slider presentation', () {
final IncomingQuestion question = IncomingQuestion(
id: 'spell-pending',
text: 'Spelling question loading…',
sentAt: DateTime.utc(2026, 1, 1),
sourceId: 'spelling',
presentation: 'market_glyph_slider',
needsPrepare: true,
);
expect(question.usesSpellingWordTile, isTrue);
expect(question.isSpellingFollowUp, isFalse);
});
test('spelling follow-up uses slider tile', () {
final IncomingQuestion question = IncomingQuestion(
id: 'spell-follow',
text: "Correct — 'colour' is the proper spelling. Enter +1 for another word.",
sentAt: DateTime.utc(2026, 1, 1),
sourceId: 'spelling',
presentation: 'market_glyph_slider',
);
expect(question.isSpellingFollowUp, isTrue);
expect(question.usesSpellingWordTile, isFalse);
});
test('prepared spelling with spokenWord uses word tile', () {
final IncomingQuestion question = IncomingQuestion(
id: 'spell-ready',
text: 'Spell the word you hear.',
sentAt: DateTime.utc(2026, 1, 1),
sourceId: 'spelling',
presentation: 'market_glyph_slider',
spokenWord: 'colour',
audioTitle: 'spell-ready',
);
expect(question.usesSpellingWordTile, isTrue);
});
});
}