added guardian letters with chat and multiple answer functionalities
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:marianum_mobile/api/demo/data/demo_parent_letters.dart';
|
||||
import 'package:marianum_mobile/api/marianumconnect/queries/parent_letters/parent_letter_models.dart';
|
||||
|
||||
void main() {
|
||||
test('every demo inbox letter resolves to a consistent detail', () {
|
||||
final inbox = DemoParentLetters.list();
|
||||
expect(inbox.items, isNotEmpty);
|
||||
expect(
|
||||
inbox.unreadCount,
|
||||
inbox.items.where((letter) => !letter.read).length,
|
||||
);
|
||||
for (final letter in inbox.items) {
|
||||
final detail = DemoParentLetters.detail(letter.id);
|
||||
expect(detail.summary.id, letter.id);
|
||||
expect(detail.summary.status, letter.status);
|
||||
expect(
|
||||
detail.content.children.map((child) => child.childId),
|
||||
detail.content.request == null ? isEmpty : letter.childIds,
|
||||
);
|
||||
// The inbox is hydrated, so the fixtures must survive storage.
|
||||
expect(
|
||||
ParentLetterDetail.fromJson(
|
||||
jsonDecode(jsonEncode(detail.toJson())) as Map<String, dynamic>,
|
||||
).content,
|
||||
detail.content,
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
test('a letter read in the session stays read', () {
|
||||
final unread = DemoParentLetters.list().items.firstWhere((l) => !l.read);
|
||||
DemoParentLetters.markRead(unread.id);
|
||||
final after = DemoParentLetters.list().items.firstWhere(
|
||||
(l) => l.id == unread.id,
|
||||
);
|
||||
expect(after.read, isTrue);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user