Skip to content

Commit cb55e11

Browse files
Merge pull request #609 from fischerscode/testing
Fixing the test
2 parents d8f485a + 851531a commit cb55e11

File tree

5 files changed

+123
-54
lines changed

5 files changed

+123
-54
lines changed

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ install:
1111

1212
script:
1313
- (cd packages/dart && pub get)
14+
- (cd packages/dart && dart run build_runner build --delete-conflicting-outputs)
1415
- (cd packages/dart && pub run test)
1516
- (cd packages/flutter && flutter pub get)
1617
- (cd packages/flutter && flutter test --no-pub test/)
1718

1819
cache:
1920
directories:
20-
- "$HOME/.pub-cache"
21+
- "$HOME/.pub-cache"

packages/dart/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@ dependencies:
2626

2727
dev_dependencies:
2828
# Testing
29+
build_runner: ^2.0.1
2930
mockito: ^5.0.4
3031
test: ^1.16.8

packages/dart/test/parse_query_test.dart

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1+
import 'package:mockito/annotations.dart';
12
import 'package:mockito/mockito.dart';
23
import 'package:parse_server_sdk/parse_server_sdk.dart';
34
import 'package:test/test.dart';
45

5-
class MockClient extends Mock implements ParseClient {}
6+
import 'parse_query_test.mocks.dart';
67

8+
@GenerateMocks([ParseClient])
79
void main() {
810
group('queryBuilder', () {
911
test('whereRelatedTo', () async {
10-
final MockClient client = MockClient();
12+
final MockParseClient client = MockParseClient();
1113

1214
await Parse().initialize(
1315
'appId',
@@ -27,11 +29,31 @@ void main() {
2729
QueryBuilder<ParseObject>(ParseObject('_User', client: client));
2830
queryBuilder.whereRelatedTo('likes', 'Post', '8TOXdXf3tz');
2931

30-
when(client.data).thenReturn(ParseCoreData());
31-
await queryBuilder.query();
32+
when(client.get(
33+
any,
34+
options: anyNamed("options"),
35+
onReceiveProgress: anyNamed("onReceiveProgress"),
36+
)).thenAnswer((_) async => ParseNetworkResponse(
37+
statusCode: 200,
38+
data:
39+
"{\"results\":[{\"objectId\":\"eT9muOxBTJ\",\"username\":\"test\",\"createdAt\":\"2021-04-23T13:46:06.092Z\",\"updatedAt\":\"2021-04-23T13:46:23.586Z\",\"ACL\":{\"*\":{\"read\":true},\"eT9muOxBTJ\":{\"read\":true,\"write\":true}}}]}"));
3240

33-
final Uri result =
34-
Uri.parse(verify(client.get(captureAny!)).captured.single);
41+
ParseResponse response = await queryBuilder.query();
42+
43+
expect(response.results?.first, isA<ParseObject>());
44+
45+
ParseObject parseObject = response.results?.first;
46+
47+
expect(parseObject.get<String>(keyVarUsername), "test");
48+
expect(parseObject.objectId, "eT9muOxBTJ");
49+
expect(parseObject.createdAt, DateTime.parse("2021-04-23T13:46:06.092Z"));
50+
expect(parseObject.updatedAt, DateTime.parse("2021-04-23T13:46:23.586Z"));
51+
52+
final Uri result = Uri.parse(verify(client.get(
53+
captureAny,
54+
options: anyNamed("options"),
55+
onReceiveProgress: anyNamed("onReceiveProgress"),
56+
)).captured.single);
3557

3658
expect(result.path, '/classes/_User');
3759

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
// Mocks generated by Mockito 5.0.5 from annotations
2+
// in parse_server_sdk/test/parse_query_test.dart.
3+
// Do not manually edit this file.
4+
5+
import 'dart:async' as _i3;
6+
7+
import 'package:mockito/mockito.dart' as _i1;
8+
import 'package:parse_server_sdk/parse_server_sdk.dart' as _i2;
9+
10+
// ignore_for_file: comment_references
11+
// ignore_for_file: unnecessary_parenthesis
12+
13+
class _FakeParseCoreData extends _i1.Fake implements _i2.ParseCoreData {}
14+
15+
class _FakeParseNetworkResponse extends _i1.Fake
16+
implements _i2.ParseNetworkResponse {}
17+
18+
class _FakeParseNetworkByteResponse extends _i1.Fake
19+
implements _i2.ParseNetworkByteResponse {}
20+
21+
/// A class which mocks [ParseClient].
22+
///
23+
/// See the documentation for Mockito's code generation for more information.
24+
class MockParseClient extends _i1.Mock implements _i2.ParseClient {
25+
MockParseClient() {
26+
_i1.throwOnMissingStub(this);
27+
}
28+
29+
@override
30+
_i2.ParseCoreData get data => (super.noSuchMethod(Invocation.getter(#data),
31+
returnValue: _FakeParseCoreData()) as _i2.ParseCoreData);
32+
@override
33+
_i3.Future<_i2.ParseNetworkResponse> get(String? path,
34+
{_i2.ParseNetworkOptions? options,
35+
_i2.ProgressCallback? onReceiveProgress}) =>
36+
(super.noSuchMethod(
37+
Invocation.method(#get, [path],
38+
{#options: options, #onReceiveProgress: onReceiveProgress}),
39+
returnValue: Future<_i2.ParseNetworkResponse>.value(
40+
_FakeParseNetworkResponse()))
41+
as _i3.Future<_i2.ParseNetworkResponse>);
42+
@override
43+
_i3.Future<_i2.ParseNetworkResponse> put(String? path,
44+
{String? data, _i2.ParseNetworkOptions? options}) =>
45+
(super.noSuchMethod(
46+
Invocation.method(#put, [path], {#data: data, #options: options}),
47+
returnValue: Future<_i2.ParseNetworkResponse>.value(
48+
_FakeParseNetworkResponse()))
49+
as _i3.Future<_i2.ParseNetworkResponse>);
50+
@override
51+
_i3.Future<_i2.ParseNetworkResponse> post(String? path,
52+
{String? data, _i2.ParseNetworkOptions? options}) =>
53+
(super.noSuchMethod(
54+
Invocation.method(#post, [path], {#data: data, #options: options}),
55+
returnValue: Future<_i2.ParseNetworkResponse>.value(
56+
_FakeParseNetworkResponse())) as _i3
57+
.Future<_i2.ParseNetworkResponse>);
58+
@override
59+
_i3.Future<_i2.ParseNetworkResponse> postBytes(String? path,
60+
{_i3.Stream<List<int>>? data,
61+
_i2.ParseNetworkOptions? options,
62+
_i2.ProgressCallback? onSendProgress}) =>
63+
(super.noSuchMethod(
64+
Invocation.method(#postBytes, [
65+
path
66+
], {
67+
#data: data,
68+
#options: options,
69+
#onSendProgress: onSendProgress
70+
}),
71+
returnValue: Future<_i2.ParseNetworkResponse>.value(
72+
_FakeParseNetworkResponse()))
73+
as _i3.Future<_i2.ParseNetworkResponse>);
74+
@override
75+
_i3.Future<_i2.ParseNetworkResponse> delete(String? path,
76+
{_i2.ParseNetworkOptions? options}) =>
77+
(super.noSuchMethod(
78+
Invocation.method(#delete, [path], {#options: options}),
79+
returnValue: Future<_i2.ParseNetworkResponse>.value(
80+
_FakeParseNetworkResponse()))
81+
as _i3.Future<_i2.ParseNetworkResponse>);
82+
@override
83+
_i3.Future<_i2.ParseNetworkByteResponse> getBytes(String? path,
84+
{_i2.ParseNetworkOptions? options,
85+
_i2.ProgressCallback? onReceiveProgress}) =>
86+
(super.noSuchMethod(
87+
Invocation.method(#getBytes, [path],
88+
{#options: options, #onReceiveProgress: onReceiveProgress}),
89+
returnValue: Future<_i2.ParseNetworkByteResponse>.value(
90+
_FakeParseNetworkByteResponse()))
91+
as _i3.Future<_i2.ParseNetworkByteResponse>);
92+
}

packages/flutter/test/parse_query_test.dart

Lines changed: 0 additions & 47 deletions
This file was deleted.

0 commit comments

Comments
 (0)