Files
loongyan/test/unit/domain/entities/album_test.dart
lzw-723 120278aa85
Some checks failed
Dart CI / build (push) Failing after 11s
Docker Build / docker (push) Successful in 9m6s
格式化代码
2026-04-04 13:36:58 +08:00

65 lines
1.7 KiB
Dart

import 'package:test/test.dart';
import '../../../../bin/domain/entities/album.dart';
void main() {
group('Album', () {
test('should create an Album with required fields', () {
final now = DateTime.now();
final album = Album(
id: 1,
name: 'Vacation',
createdAt: now,
updatedAt: now,
);
expect(album.id, 1);
expect(album.name, 'Vacation');
expect(album.createdAt, now);
expect(album.updatedAt, now);
});
test('toJson should return correct map', () {
final now = DateTime(2024, 1, 1, 12, 0, 0);
final album = Album(
id: 42,
name: 'Birthday',
createdAt: now,
updatedAt: now,
);
final json = album.toJson();
expect(json, isA<Map<String, dynamic>>());
expect(json['id'], 42);
expect(json['name'], 'Birthday');
expect(json['createdAt'], now.toIso8601String());
expect(json['updatedAt'], now.toIso8601String());
});
test('toJson should serialize dates in ISO8601 format', () {
final createdAt = DateTime(2023, 6, 15);
final updatedAt = DateTime(2023, 12, 25);
final album = Album(
id: 1,
name: 'Test',
createdAt: createdAt,
updatedAt: updatedAt,
);
final json = album.toJson();
expect(json['createdAt'], '2023-06-15T00:00:00.000');
expect(json['updatedAt'], '2023-12-25T00:00:00.000');
});
test('should handle empty name', () {
final now = DateTime.now();
final album = Album(id: 0, name: '', createdAt: now, updatedAt: now);
expect(album.name, '');
expect(album.toJson()['name'], '');
});
});
}