Skip to content

Commit 500e29a

Browse files
committed
upload progress test
1 parent 2938bee commit 500e29a

File tree

3 files changed

+100
-0
lines changed

3 files changed

+100
-0
lines changed

src/SDK/Language/Dart.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,11 @@ public function getFiles(): array
436436
'destination' => '/test/src/enums_test.dart',
437437
'template' => 'dart/test/src/enums_test.dart.twig',
438438
],
439+
[
440+
'scope' => 'default',
441+
'destination' => '/test/src/upload_progress_test.dart',
442+
'template' => 'dart/test/src/upload_progress_test.dart.twig',
443+
],
439444
[
440445
'scope' => 'default',
441446
'destination' => '/test/src/exception_test.dart',

src/SDK/Language/Flutter.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,11 @@ public function getFiles(): array
300300
'destination' => '/test/src/enums_test.dart',
301301
'template' => 'dart/test/src/enums_test.dart.twig',
302302
],
303+
[
304+
'scope' => 'default',
305+
'destination' => '/test/src/upload_progress_test.dart',
306+
'template' => 'dart/test/src/upload_progress_test.dart.twig',
307+
],
303308
[
304309
'scope' => 'default',
305310
'destination' => '/test/src/exception_test.dart',
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
import 'dart:convert';
2+
import 'package:flutter_test/flutter_test.dart';
3+
import 'package:{{language.params.packageName}}/src/upload_progress.dart';
4+
5+
void main() {
6+
group('UploadProgress', () {
7+
final id = '12345';
8+
final progress = 0.75;
9+
final sizeUploaded = 1024;
10+
final chunksTotal = 10;
11+
final chunksUploaded = 5;
12+
final progressMap = {
13+
"\$id": id,
14+
"progress": progress,
15+
"sizeUploaded": sizeUploaded,
16+
"chunksTotal": chunksTotal,
17+
"chunksUploaded": chunksUploaded
18+
};
19+
final uploadProgress = UploadProgress(
20+
$id: id,
21+
progress: progress,
22+
sizeUploaded: sizeUploaded,
23+
chunksTotal: chunksTotal,
24+
chunksUploaded: chunksUploaded,
25+
);
26+
27+
test('fromMap should create an instance from a map', () {
28+
final result = UploadProgress.fromMap(progressMap);
29+
30+
expect(result.$id, equals(id));
31+
expect(result.progress, equals(progress));
32+
expect(result.sizeUploaded, equals(sizeUploaded));
33+
expect(result.chunksTotal, equals(chunksTotal));
34+
expect(result.chunksUploaded, equals(chunksUploaded));
35+
});
36+
37+
test('toMap should return a map representation of the progress', () {
38+
final result = uploadProgress.toMap();
39+
40+
expect(result, equals(progressMap));
41+
});
42+
43+
test('toJson and fromJson should convert to/from JSON', () {
44+
final jsonString = uploadProgress.toJson();
45+
46+
final result = UploadProgress.fromJson(jsonString);
47+
48+
expect(result.$id, equals(id));
49+
expect(result.progress, equals(progress));
50+
expect(result.sizeUploaded, equals(sizeUploaded));
51+
expect(result.chunksTotal, equals(chunksTotal));
52+
expect(result.chunksUploaded, equals(chunksUploaded));
53+
});
54+
55+
test('toString should return a string representation of the progress', () {
56+
final expectedString =
57+
'UploadProgress(\$id: $id, progress: $progress, sizeUploaded: $sizeUploaded, chunksTotal: $chunksTotal, chunksUploaded: $chunksUploaded)';
58+
final resultString = uploadProgress.toString();
59+
60+
expect(resultString, equals(expectedString));
61+
});
62+
63+
test('equality operator should compare two instances', () {
64+
final uploadProgress2 = UploadProgress(
65+
$id: id,
66+
progress: progress,
67+
sizeUploaded: sizeUploaded,
68+
chunksTotal: chunksTotal,
69+
chunksUploaded: chunksUploaded,
70+
);
71+
72+
expect(uploadProgress == uploadProgress2, isTrue);
73+
});
74+
75+
test('hashCode should return a unique hash value', () {
76+
final hashCode1 = uploadProgress.hashCode;
77+
78+
final uploadProgress2 = UploadProgress(
79+
$id: id,
80+
progress: progress,
81+
sizeUploaded: sizeUploaded,
82+
chunksTotal: chunksTotal,
83+
chunksUploaded: chunksUploaded,
84+
);
85+
final hashCode2 = uploadProgress2.hashCode;
86+
87+
expect(hashCode1, equals(hashCode2));
88+
});
89+
});
90+
}

0 commit comments

Comments
 (0)