forked from eatvio/eatvio_app
feat(diary): editing of previous and current finished days
This commit is contained in:
59
test/features/diary/presentation/diary_edit_access_test.dart
Normal file
59
test/features/diary/presentation/diary_edit_access_test.dart
Normal file
@@ -0,0 +1,59 @@
|
||||
import 'package:eatvio_app/features/diary/presentation/diary_edit_access.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
final now = DateTime(2026, 9, 30, 12);
|
||||
|
||||
bool canEdit({
|
||||
bool isConsultantView = false,
|
||||
bool isDiaryCommented = false,
|
||||
bool isDiaryFinished = false,
|
||||
int closed = 0,
|
||||
String diaryDate = '2026-09-28',
|
||||
}) {
|
||||
return canEditDiaryDay(
|
||||
isConsultantView: isConsultantView,
|
||||
isDiaryCommented: isDiaryCommented,
|
||||
isDiaryFinished: isDiaryFinished,
|
||||
closed: closed,
|
||||
diaryDate: diaryDate,
|
||||
now: now,
|
||||
);
|
||||
}
|
||||
|
||||
test('finished today and yesterday stay editable', () {
|
||||
expect(canEdit(isDiaryFinished: true, diaryDate: '2026-09-30'), isTrue);
|
||||
expect(canEdit(isDiaryFinished: true, diaryDate: '2026-09-29'), isTrue);
|
||||
});
|
||||
|
||||
test('finished days older than yesterday stay read-only', () {
|
||||
expect(canEdit(isDiaryFinished: true, diaryDate: '2026-09-28'), isFalse);
|
||||
});
|
||||
|
||||
test('commented days stay read-only inside the window', () {
|
||||
expect(canEdit(isDiaryCommented: true, diaryDate: '2026-09-30'), isFalse);
|
||||
expect(
|
||||
canEdit(
|
||||
isDiaryCommented: true,
|
||||
isDiaryFinished: true,
|
||||
diaryDate: '2026-09-29',
|
||||
),
|
||||
isFalse,
|
||||
);
|
||||
});
|
||||
|
||||
test('an open day outside the window stays editable', () {
|
||||
expect(canEdit(diaryDate: '2026-09-01'), isTrue);
|
||||
});
|
||||
|
||||
test('a closed flag blocks editing even inside the window', () {
|
||||
expect(
|
||||
canEdit(isDiaryFinished: true, closed: 1, diaryDate: '2026-09-30'),
|
||||
isFalse,
|
||||
);
|
||||
});
|
||||
|
||||
test('consultant view stays read-only', () {
|
||||
expect(canEdit(isConsultantView: true, diaryDate: '2026-09-30'), isFalse);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user