-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathmodel_test.dart
69 lines (65 loc) · 2.46 KB
/
model_test.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import 'package:flutter_ci_cd/models/photo_model.dart';
import 'package:flutter_ci_cd/models/post_model.dart';
import 'package:flutter_ci_cd/models/todos.dart';
import 'package:flutter_ci_cd/models/user_model.dart';
import 'package:flutter_test/flutter_test.dart';
import 'dummy_data.dart';
void main() {
group('Test Post model (multi, fromJson, toJson, updateFields, modelState)',
() {
final post = Post();
const String newTitle = "New title";
test("Test Post model (multi, fromJson, toJson)", () {
// Test setMulti, fromJson & toJson
post.setMulti(postData);
expect(post.all!.first.toJson(), postData.first);
});
test("Test Post model UpdateFields", () {
// Test updateFields
post.all!.first.updateFields(titleField: newTitle);
expect(post.all!.first.toJson()[postTitleField], newTitle);
});
});
group('Test Photo model (multi, fromJson, toJson, updateFields)', () {
final photo = Photo();
const String newTitle = "New title";
test("Test Photo model (multi, fromJson, toJson)", () {
// Test setMulti, fromJson & toJson
photo.setMulti(photoData);
expect(photo.all!.first.toJson(), photoData.first);
});
test("Test Photo model updateFields", () {
// Test updateFields
photo.all!.first.updateFields(titleField: newTitle);
expect(photo.all!.first.toJson()[photoTitleField], newTitle);
});
});
group('Test User model (multi, fromJson, toJson, updateFields)', () {
final user = User();
const String newTitle = "New username";
test('Test User model (multi, fromJson, toJson)', () {
// Test setMulti, fromJson & toJson
user.setMulti(userData);
expect(user.all!.first.toJson(), userData.first);
});
test('Test User model updateFields', () {
// Test updateFields
user.all!.first.updateFields(usernameField: newTitle);
expect(user.all!.first.toJson()[userUsernameField], newTitle);
});
});
group('Test Todo model (multi, fromJson, toJson, updateFields, modelState)',
() {
final todos = Todos();
test("Test Todo model (multi, fromJson, toJson)", () {
// Test setMulti, fromJson & toJson
todos.setMulti(todosData);
expect(todos.all!.first.toJson(), todosData.first);
});
test("Test Todo model UpdateFields", () {
// Test updateFields
todos.all!.first.updateFields(completedField: true);
expect(todos.all!.first.toJson()[todosCompletedField], true);
});
});
}