Files
cleanplate_shared/test/cleanplate_shared_test.dart
Oracle Public Cloud User b96a05ec32 Initial commit: CleanPlate shared Dart package
Domain models, enums, constants, validators shared between frontend and backend.
2026-03-04 14:51:14 +00:00

47 lines
1.3 KiB
Dart

import 'package:cleanplate_shared/cleanplate_shared.dart';
import 'package:test/test.dart';
void main() {
group('RecipeValidator', () {
test('validateTitle returns null for valid title', () {
expect(RecipeValidator.validateTitle('My Recipe'), isNull);
});
test('validateTitle returns error for empty title', () {
expect(RecipeValidator.validateTitle(''), isNotNull);
});
test('validateServings returns null for valid servings', () {
expect(RecipeValidator.validateServings(4), isNull);
});
test('validateServings returns error for zero servings', () {
expect(RecipeValidator.validateServings(0), isNotNull);
});
test('validateRating returns null for valid rating', () {
expect(RecipeValidator.validateRating(5), isNull);
});
test('validateRating returns error for out-of-range rating', () {
expect(RecipeValidator.validateRating(6), isNotNull);
});
});
group('DietType', () {
test('displayName returns correct value', () {
expect(DietType.vegan.displayName, equals('Vegan'));
});
});
group('ApiConstants', () {
test('basePath includes version', () {
expect(ApiConstants.basePath, equals('/api/v1'));
});
test('recipe path includes id', () {
expect(ApiConstants.recipe('abc'), equals('/api/v1/recipes/abc'));
});
});
}