Files
sdk-for-dart/test/src/upload_progress_test.dart
2023-06-21 09:39:06 +00:00

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));
});
});
}