Skip to content

Commit ceeec9f

Browse files
committed
Query file tests added
1 parent 1c09780 commit ceeec9f

File tree

3 files changed

+174
-3
lines changed

3 files changed

+174
-3
lines changed

pubspec.lock

Lines changed: 97 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,14 @@ packages:
201201
url: "https://pub.dev"
202202
source: hosted
203203
version: "3.1.1"
204+
coverage:
205+
dependency: transitive
206+
description:
207+
name: coverage
208+
sha256: "3945034e86ea203af7a056d98e98e42a5518fff200d6e8e6647e1886b07e936e"
209+
url: "https://pub.dev"
210+
source: hosted
211+
version: "1.8.0"
204212
cross_file:
205213
dependency: transitive
206214
description:
@@ -503,7 +511,7 @@ packages:
503511
source: hosted
504512
version: "2.0.9"
505513
flutter_test:
506-
dependency: "direct dev"
514+
dependency: "direct main"
507515
description: flutter
508516
source: sdk
509517
version: "0.0.0"
@@ -528,6 +536,14 @@ packages:
528536
url: "https://pub.dev"
529537
source: hosted
530538
version: "4.6.6"
539+
get_test:
540+
dependency: "direct main"
541+
description:
542+
name: get_test
543+
sha256: "558c39cb35fb37bd501f337dc143de60a4314d5ef3b75f4b0551d6741634995b"
544+
url: "https://pub.dev"
545+
source: hosted
546+
version: "4.0.1"
531547
glob:
532548
dependency: transitive
533549
description:
@@ -760,6 +776,14 @@ packages:
760776
url: "https://pub.dev"
761777
source: hosted
762778
version: "1.0.4"
779+
mockito:
780+
dependency: "direct main"
781+
description:
782+
name: mockito
783+
sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917"
784+
url: "https://pub.dev"
785+
source: hosted
786+
version: "5.4.4"
763787
nm:
764788
dependency: transitive
765789
description:
@@ -768,6 +792,14 @@ packages:
768792
url: "https://pub.dev"
769793
source: hosted
770794
version: "0.5.0"
795+
node_preamble:
796+
dependency: transitive
797+
description:
798+
name: node_preamble
799+
sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db"
800+
url: "https://pub.dev"
801+
source: hosted
802+
version: "2.0.2"
771803
package_config:
772804
dependency: transitive
773805
description:
@@ -1037,6 +1069,22 @@ packages:
10371069
url: "https://pub.dev"
10381070
source: hosted
10391071
version: "1.4.1"
1072+
shelf_packages_handler:
1073+
dependency: transitive
1074+
description:
1075+
name: shelf_packages_handler
1076+
sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e"
1077+
url: "https://pub.dev"
1078+
source: hosted
1079+
version: "3.0.2"
1080+
shelf_static:
1081+
dependency: transitive
1082+
description:
1083+
name: shelf_static
1084+
sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e
1085+
url: "https://pub.dev"
1086+
source: hosted
1087+
version: "1.1.2"
10401088
shelf_web_socket:
10411089
dependency: transitive
10421090
description:
@@ -1058,6 +1106,30 @@ packages:
10581106
description: flutter
10591107
source: sdk
10601108
version: "0.0.99"
1109+
source_gen:
1110+
dependency: transitive
1111+
description:
1112+
name: source_gen
1113+
sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
1114+
url: "https://pub.dev"
1115+
source: hosted
1116+
version: "1.5.0"
1117+
source_map_stack_trace:
1118+
dependency: transitive
1119+
description:
1120+
name: source_map_stack_trace
1121+
sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae"
1122+
url: "https://pub.dev"
1123+
source: hosted
1124+
version: "2.1.1"
1125+
source_maps:
1126+
dependency: transitive
1127+
description:
1128+
name: source_maps
1129+
sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703"
1130+
url: "https://pub.dev"
1131+
source: hosted
1132+
version: "0.10.12"
10611133
source_span:
10621134
dependency: transitive
10631135
description:
@@ -1154,6 +1226,14 @@ packages:
11541226
url: "https://pub.dev"
11551227
source: hosted
11561228
version: "1.2.1"
1229+
test:
1230+
dependency: "direct main"
1231+
description:
1232+
name: test
1233+
sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073"
1234+
url: "https://pub.dev"
1235+
source: hosted
1236+
version: "1.25.2"
11571237
test_api:
11581238
dependency: transitive
11591239
description:
@@ -1162,6 +1242,14 @@ packages:
11621242
url: "https://pub.dev"
11631243
source: hosted
11641244
version: "0.7.0"
1245+
test_core:
1246+
dependency: transitive
1247+
description:
1248+
name: test_core
1249+
sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4"
1250+
url: "https://pub.dev"
1251+
source: hosted
1252+
version: "0.6.0"
11651253
time:
11661254
dependency: transitive
11671255
description:
@@ -1362,6 +1450,14 @@ packages:
13621450
url: "https://pub.dev"
13631451
source: hosted
13641452
version: "2.4.0"
1453+
webkit_inspection_protocol:
1454+
dependency: transitive
1455+
description:
1456+
name: webkit_inspection_protocol
1457+
sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572"
1458+
url: "https://pub.dev"
1459+
source: hosted
1460+
version: "1.2.1"
13651461
win32:
13661462
dependency: transitive
13671463
description:

pubspec.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ dependencies:
3131
flutter_platform_widgets: ^6.0.2
3232
flutter_slidable: ^3.0.1
3333
flutter_svg: ^2.0.7
34+
flutter_test:
35+
sdk: flutter
3436
get: ^4.6.5
37+
get_test: ^4.0.1
3538
google_fonts: ^6.1.0
3639
hive: ^2.2.1
3740
hive_flutter: ^1.1.0
@@ -41,6 +44,7 @@ dependencies:
4144
in_app_update: ^4.2.3
4245
intl: ^0.18.0
4346
loggy: ^2.0.1+1
47+
mockito: ^5.4.4
4448
package_info_plus: ^4.0.2
4549
pem: ^2.0.1
4650
permission_handler:
@@ -53,6 +57,7 @@ dependencies:
5357
sizer: ^2.0.15
5458
sqflite: ^2.3.3+1
5559
syncfusion_flutter_charts: ^23.2.7
60+
test: ^1.25.2
5661
timezone: ^0.9.2
5762
tuple: ^2.0.0
5863
tutorial_coach_mark: ^1.2.11
@@ -63,8 +68,6 @@ dev_dependencies:
6368
build_runner: null
6469
flutter_gen_runner: null
6570
flutter_lints: 4.0.0
66-
flutter_test:
67-
sdk: flutter
6871

6972
flutter_gen:
7073
output: lib/app/utils/gen/
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
import 'dart:io';
2+
import 'package:taskwarrior/app/utils/taskfunctions/query.dart';
3+
import 'package:test/test.dart';
4+
5+
void main() {
6+
late Directory tempDir;
7+
late Query query;
8+
9+
setUp(() {
10+
tempDir = Directory.systemTemp.createTempSync('query_test');
11+
query = Query(tempDir);
12+
});
13+
14+
tearDown(() {
15+
tempDir.deleteSync(recursive: true);
16+
});
17+
18+
test('setSelectedSort and getSelectedSort', () {
19+
const selectedSort = 'priority-';
20+
query.setSelectedSort(selectedSort);
21+
expect(query.getSelectedSort(), selectedSort);
22+
});
23+
24+
test('togglePendingFilter and getPendingFilter', () {
25+
expect(query.getPendingFilter(), true);
26+
query.togglePendingFilter();
27+
expect(query.getPendingFilter(), false);
28+
query.togglePendingFilter();
29+
expect(query.getPendingFilter(), true);
30+
});
31+
32+
test('toggleWaitingFilter and getWaitingFilter', () {
33+
expect(query.getWaitingFilter(), true);
34+
query.toggleWaitingFilter();
35+
expect(query.getWaitingFilter(), false);
36+
query.toggleWaitingFilter();
37+
expect(query.getWaitingFilter(), true);
38+
});
39+
40+
test('toggleProjectFilter and projectFilter', () {
41+
const project = 'Work';
42+
query.toggleProjectFilter(project);
43+
expect(query.projectFilter(), project);
44+
query.toggleProjectFilter(project);
45+
expect(query.projectFilter(), '');
46+
});
47+
48+
test('toggleTagUnion and tagUnion', () {
49+
expect(query.tagUnion(), false);
50+
query.toggleTagUnion();
51+
expect(query.tagUnion(), true);
52+
query.toggleTagUnion();
53+
expect(query.tagUnion(), false);
54+
});
55+
56+
test('toggleTagFilter and getSelectedTags', () {
57+
const tag1 = 'important';
58+
const tag2 = 'urgent';
59+
60+
query.toggleTagFilter(tag1);
61+
var tags = query.getSelectedTags();
62+
expect(tags.contains('+$tag1'), true);
63+
64+
query.toggleTagFilter(tag1);
65+
tags = query.getSelectedTags();
66+
expect(tags.contains('+$tag1'), false);
67+
68+
query.toggleTagFilter(tag2);
69+
tags = query.getSelectedTags();
70+
expect(tags.contains('+$tag2'), true);
71+
});
72+
}

0 commit comments

Comments
 (0)