mirror of
https://github.com/appwrite/sdk-for-dart.git
synced 2026-06-06 19:27:59 +00:00
91 lines
2.8 KiB
Dart
91 lines
2.8 KiB
Dart
import 'dart:convert';
|
|
import 'package:test/test.dart';
|
|
import 'package:dart_appwrite/src/upload_progress.dart';
|
|
|
|
void main() {
|
|
group('UploadProgress', () {
|
|
final id = '12345';
|
|
final progress = 0.75;
|
|
final sizeUploaded = 1024;
|
|
final chunksTotal = 10;
|
|
final chunksUploaded = 5;
|
|
final progressMap = {
|
|
"\$id": id,
|
|
"progress": progress,
|
|
"sizeUploaded": sizeUploaded,
|
|
"chunksTotal": chunksTotal,
|
|
"chunksUploaded": chunksUploaded
|
|
};
|
|
final uploadProgress = UploadProgress(
|
|
$id: id,
|
|
progress: progress,
|
|
sizeUploaded: sizeUploaded,
|
|
chunksTotal: chunksTotal,
|
|
chunksUploaded: chunksUploaded,
|
|
);
|
|
|
|
test('fromMap should create an instance from a map', () {
|
|
final result = UploadProgress.fromMap(progressMap);
|
|
|
|
expect(result.$id, equals(id));
|
|
expect(result.progress, equals(progress));
|
|
expect(result.sizeUploaded, equals(sizeUploaded));
|
|
expect(result.chunksTotal, equals(chunksTotal));
|
|
expect(result.chunksUploaded, equals(chunksUploaded));
|
|
});
|
|
|
|
test('toMap should return a map representation of the progress', () {
|
|
final result = uploadProgress.toMap();
|
|
|
|
expect(result, equals(progressMap));
|
|
});
|
|
|
|
test('toJson and fromJson should convert to/from JSON', () {
|
|
final jsonString = uploadProgress.toJson();
|
|
|
|
final result = UploadProgress.fromJson(jsonString);
|
|
|
|
expect(result.$id, equals(id));
|
|
expect(result.progress, equals(progress));
|
|
expect(result.sizeUploaded, equals(sizeUploaded));
|
|
expect(result.chunksTotal, equals(chunksTotal));
|
|
expect(result.chunksUploaded, equals(chunksUploaded));
|
|
});
|
|
|
|
test('toString should return a string representation of the progress', () {
|
|
final expectedString =
|
|
'UploadProgress(\$id: $id, progress: $progress, sizeUploaded: $sizeUploaded, chunksTotal: $chunksTotal, chunksUploaded: $chunksUploaded)';
|
|
final resultString = uploadProgress.toString();
|
|
|
|
expect(resultString, equals(expectedString));
|
|
});
|
|
|
|
test('equality operator should compare two instances', () {
|
|
final uploadProgress2 = UploadProgress(
|
|
$id: id,
|
|
progress: progress,
|
|
sizeUploaded: sizeUploaded,
|
|
chunksTotal: chunksTotal,
|
|
chunksUploaded: chunksUploaded,
|
|
);
|
|
|
|
expect(uploadProgress == uploadProgress2, isTrue);
|
|
});
|
|
|
|
test('hashCode should return a unique hash value', () {
|
|
final hashCode1 = uploadProgress.hashCode;
|
|
|
|
final uploadProgress2 = UploadProgress(
|
|
$id: id,
|
|
progress: progress,
|
|
sizeUploaded: sizeUploaded,
|
|
chunksTotal: chunksTotal,
|
|
chunksUploaded: chunksUploaded,
|
|
);
|
|
final hashCode2 = uploadProgress2.hashCode;
|
|
|
|
expect(hashCode1, equals(hashCode2));
|
|
});
|
|
});
|
|
}
|