Skip to content

Commit ce28ad7

Browse files
HuiSFcshfang
andauthored
chore(datastore): refactor integration tests with v2 schema models (#1246)
* Commit changes automatically made by IDE * chore(datastore): refactor integration tests with v2 schema models * Apply suggestions from code review to fix typos Co-authored-by: Chris F <[email protected]> * Resolve comments * Remove redundant tests Co-authored-by: Chris F <[email protected]>
1 parent ee357c1 commit ce28ad7

File tree

66 files changed

+6481
-5461
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+6481
-5461
lines changed

packages/amplify_datastore/example/integration_test/model_type_test.dart

Lines changed: 82 additions & 171 deletions
Large diffs are not rendered by default.

packages/amplify_datastore/example/integration_test/query_test/query_predicate_test/aws_date_query_predicate_test.dart

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import '../../utils/setup_utils.dart';
2525
void main() {
2626
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
2727

28-
group('type AWS Date', () {
28+
group('type AWSDate', () {
2929
// dates users for all tests
3030
var dates = [
3131
DateTime.fromMillisecondsSinceEpoch(0),
@@ -38,11 +38,13 @@ void main() {
3838
];
3939

4040
// models used for all tests
41-
var models =
42-
dates.map((date) => DateTypeModel(value: TemporalDate(date))).toList();
41+
var models = dates
42+
.map((date) =>
43+
ModelWithAppsyncScalarTypes(awsDateValue: TemporalDate(date)))
44+
.toList();
4345

4446
// distinct list of values in the test models
45-
var values = models.map((e) => e.value!).toSet().toList();
47+
var values = models.map((e) => e.awsDateValue!).toSet().toList();
4648

4749
setUpAll(() async {
4850
await configureDataStore();
@@ -55,9 +57,9 @@ void main() {
5557
// test against all values
5658
for (var value in values) {
5759
var expectedModels =
58-
models.where((model) => model.value == value).toList();
59-
await testQueryPredicate<DateTypeModel>(
60-
queryPredicate: DateTypeModel.VALUE.eq(value),
60+
models.where((model) => model.awsDateValue == value).toList();
61+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
62+
queryPredicate: ModelWithAppsyncScalarTypes.AWSDATEVALUE.eq(value),
6163
expectedModels: expectedModels,
6264
);
6365
}
@@ -67,9 +69,9 @@ void main() {
6769
// test against all values
6870
for (var value in values) {
6971
var expectedModels =
70-
models.where((model) => model.value != value).toList();
71-
await testQueryPredicate<DateTypeModel>(
72-
queryPredicate: DateTypeModel.VALUE.ne(value),
72+
models.where((model) => model.awsDateValue != value).toList();
73+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
74+
queryPredicate: ModelWithAppsyncScalarTypes.AWSDATEVALUE.ne(value),
7375
expectedModels: expectedModels,
7476
);
7577
}
@@ -78,10 +80,11 @@ void main() {
7880
testWidgets('lt()', (WidgetTester tester) async {
7981
// test against all values
8082
for (var value in values) {
81-
var expectedModels =
82-
models.where((model) => model.value!.compareTo(value) < 0).toList();
83-
await testQueryPredicate<DateTypeModel>(
84-
queryPredicate: DateTypeModel.VALUE.lt(value),
83+
var expectedModels = models
84+
.where((model) => model.awsDateValue!.compareTo(value) < 0)
85+
.toList();
86+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
87+
queryPredicate: ModelWithAppsyncScalarTypes.AWSDATEVALUE.lt(value),
8588
expectedModels: expectedModels,
8689
);
8790
}
@@ -91,10 +94,10 @@ void main() {
9194
// test against all values
9295
for (var value in values) {
9396
var expectedModels = models
94-
.where((model) => model.value!.compareTo(value) <= 0)
97+
.where((model) => model.awsDateValue!.compareTo(value) <= 0)
9598
.toList();
96-
await testQueryPredicate<DateTypeModel>(
97-
queryPredicate: DateTypeModel.VALUE.le(value),
99+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
100+
queryPredicate: ModelWithAppsyncScalarTypes.AWSDATEVALUE.le(value),
98101
expectedModels: expectedModels,
99102
);
100103
}
@@ -103,10 +106,11 @@ void main() {
103106
testWidgets('gt()', (WidgetTester tester) async {
104107
// test against all values
105108
for (var value in values) {
106-
var expectedModels =
107-
models.where((model) => model.value!.compareTo(value) > 0).toList();
108-
await testQueryPredicate<DateTypeModel>(
109-
queryPredicate: DateTypeModel.VALUE.gt(value),
109+
var expectedModels = models
110+
.where((model) => model.awsDateValue!.compareTo(value) > 0)
111+
.toList();
112+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
113+
queryPredicate: ModelWithAppsyncScalarTypes.AWSDATEVALUE.gt(value),
110114
expectedModels: expectedModels,
111115
);
112116
}
@@ -116,28 +120,29 @@ void main() {
116120
// test against all values
117121
for (var value in values) {
118122
var expectedModels = models
119-
.where((model) => model.value!.compareTo(value) >= 0)
123+
.where((model) => model.awsDateValue!.compareTo(value) >= 0)
120124
.toList();
121-
await testQueryPredicate<DateTypeModel>(
122-
queryPredicate: DateTypeModel.VALUE.ge(value),
125+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
126+
queryPredicate: ModelWithAppsyncScalarTypes.AWSDATEVALUE.ge(value),
123127
expectedModels: expectedModels,
124128
);
125129
}
126130
});
127131

128132
testWidgets('between()', (WidgetTester tester) async {
129133
// test with partial match
130-
var partialMatchStart = models[1].value!;
131-
var partialMatchEnd = models[3].value!;
134+
var partialMatchStart = models[1].awsDateValue!;
135+
var partialMatchEnd = models[3].awsDateValue!;
132136
var rangeMatchModels = models
133-
.where((model) => model.value!.compareTo(partialMatchStart) >= 0)
134-
.where((model) => model.value!.compareTo(partialMatchEnd) <= 0)
137+
.where(
138+
(model) => model.awsDateValue!.compareTo(partialMatchStart) >= 0)
139+
.where((model) => model.awsDateValue!.compareTo(partialMatchEnd) <= 0)
135140
.toList();
136141

137142
// verify that the test is testing a partial match
138143
expect(rangeMatchModels.length, greaterThanOrEqualTo(1));
139-
await testQueryPredicate<DateTypeModel>(
140-
queryPredicate: DateTypeModel.VALUE.between(
144+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
145+
queryPredicate: ModelWithAppsyncScalarTypes.AWSDATEVALUE.between(
141146
partialMatchStart,
142147
partialMatchEnd,
143148
),

packages/amplify_datastore/example/integration_test/query_test/query_predicate_test/aws_date_time_query_predicate_test.dart

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import '../../utils/setup_utils.dart';
2525
void main() {
2626
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
2727

28-
group('type AWS DateTime', () {
28+
group('type AWSDateTime', () {
2929
// dates users for all tests
3030
var dates = [
3131
DateTime.fromMillisecondsSinceEpoch(0),
@@ -44,11 +44,12 @@ void main() {
4444

4545
// models used for all tests
4646
var models = dates
47-
.map((date) => DateTimeTypeModel(value: TemporalDateTime(date)))
47+
.map((date) => ModelWithAppsyncScalarTypes(
48+
awsDateTimeValue: TemporalDateTime(date)))
4849
.toList();
4950

5051
// distinct list of values in the test models
51-
var values = models.map((e) => e.value!).toSet().toList();
52+
var values = models.map((e) => e.awsDateTimeValue!).toSet().toList();
5253

5354
setUpAll(() async {
5455
await configureDataStore();
@@ -57,13 +58,15 @@ void main() {
5758
await Amplify.DataStore.save(model);
5859
}
5960
});
61+
6062
testWidgets('eq()', (WidgetTester tester) async {
6163
// test against all values
6264
for (var value in values) {
6365
var expectedModels =
64-
models.where((model) => model.value == value).toList();
65-
await testQueryPredicate<DateTimeTypeModel>(
66-
queryPredicate: DateTimeTypeModel.VALUE.eq(value),
66+
models.where((model) => model.awsDateTimeValue == value).toList();
67+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
68+
queryPredicate:
69+
ModelWithAppsyncScalarTypes.AWSDATETIMEVALUE.eq(value),
6770
expectedModels: expectedModels,
6871
);
6972
}
@@ -73,9 +76,10 @@ void main() {
7376
// test against all values
7477
for (var value in values) {
7578
var expectedModels =
76-
models.where((model) => model.value != value).toList();
77-
await testQueryPredicate<DateTimeTypeModel>(
78-
queryPredicate: DateTimeTypeModel.VALUE.ne(value),
79+
models.where((model) => model.awsDateTimeValue != value).toList();
80+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
81+
queryPredicate:
82+
ModelWithAppsyncScalarTypes.AWSDATETIMEVALUE.ne(value),
7983
expectedModels: expectedModels,
8084
);
8185
}
@@ -84,10 +88,12 @@ void main() {
8488
testWidgets('lt()', (WidgetTester tester) async {
8589
// test against all values
8690
for (var value in values) {
87-
var expectedModels =
88-
models.where((model) => model.value!.compareTo(value) < 0).toList();
89-
await testQueryPredicate<DateTimeTypeModel>(
90-
queryPredicate: DateTimeTypeModel.VALUE.lt(value),
91+
var expectedModels = models
92+
.where((model) => model.awsDateTimeValue!.compareTo(value) < 0)
93+
.toList();
94+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
95+
queryPredicate:
96+
ModelWithAppsyncScalarTypes.AWSDATETIMEVALUE.lt(value),
9197
expectedModels: expectedModels,
9298
);
9399
}
@@ -97,10 +103,11 @@ void main() {
97103
// test against all values
98104
for (var value in values) {
99105
var expectedModels = models
100-
.where((model) => model.value!.compareTo(value) <= 0)
106+
.where((model) => model.awsDateTimeValue!.compareTo(value) <= 0)
101107
.toList();
102-
await testQueryPredicate<DateTimeTypeModel>(
103-
queryPredicate: DateTimeTypeModel.VALUE.le(value),
108+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
109+
queryPredicate:
110+
ModelWithAppsyncScalarTypes.AWSDATETIMEVALUE.le(value),
104111
expectedModels: expectedModels,
105112
);
106113
}
@@ -109,10 +116,12 @@ void main() {
109116
testWidgets('gt()', (WidgetTester tester) async {
110117
// test against all values
111118
for (var value in values) {
112-
var expectedModels =
113-
models.where((model) => model.value!.compareTo(value) > 0).toList();
114-
await testQueryPredicate<DateTimeTypeModel>(
115-
queryPredicate: DateTimeTypeModel.VALUE.gt(value),
119+
var expectedModels = models
120+
.where((model) => model.awsDateTimeValue!.compareTo(value) > 0)
121+
.toList();
122+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
123+
queryPredicate:
124+
ModelWithAppsyncScalarTypes.AWSDATETIMEVALUE.gt(value),
116125
expectedModels: expectedModels,
117126
);
118127
}
@@ -122,28 +131,31 @@ void main() {
122131
// test against all values
123132
for (var value in values) {
124133
var expectedModels = models
125-
.where((model) => model.value!.compareTo(value) >= 0)
134+
.where((model) => model.awsDateTimeValue!.compareTo(value) >= 0)
126135
.toList();
127-
await testQueryPredicate<DateTimeTypeModel>(
128-
queryPredicate: DateTimeTypeModel.VALUE.ge(value),
136+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
137+
queryPredicate:
138+
ModelWithAppsyncScalarTypes.AWSDATETIMEVALUE.ge(value),
129139
expectedModels: expectedModels,
130140
);
131141
}
132142
});
133143

134144
testWidgets('between()', (WidgetTester tester) async {
135145
// test with partial match
136-
var partialMatchStart = models[1].value!;
137-
var partialMatchEnd = models[3].value!;
146+
var partialMatchStart = models[1].awsDateTimeValue!;
147+
var partialMatchEnd = models[3].awsDateTimeValue!;
138148
var rangeMatchModels = models
139-
.where((model) => model.value!.compareTo(partialMatchStart) >= 0)
140-
.where((model) => model.value!.compareTo(partialMatchEnd) <= 0)
149+
.where((model) =>
150+
model.awsDateTimeValue!.compareTo(partialMatchStart) >= 0)
151+
.where((model) =>
152+
model.awsDateTimeValue!.compareTo(partialMatchEnd) <= 0)
141153
.toList();
142154

143155
// verify that the test is testing a partial match
144156
expect(rangeMatchModels.length, greaterThanOrEqualTo(1));
145-
await testQueryPredicate<DateTimeTypeModel>(
146-
queryPredicate: DateTimeTypeModel.VALUE.between(
157+
await testQueryPredicate<ModelWithAppsyncScalarTypes>(
158+
queryPredicate: ModelWithAppsyncScalarTypes.AWSDATETIMEVALUE.between(
147159
partialMatchStart,
148160
partialMatchEnd,
149161
),

0 commit comments

Comments
 (0)