Skip to content

Commit 40e2c58

Browse files
committed
refactor test and implementation for new flutter version
1 parent 11b70c6 commit 40e2c58

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed

templates/flutter/lib/src/client_io.dart.twig

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class ClientIO extends ClientBase with ClientMixin {
8080
@override
8181
String get endPoint => _endPoint;
8282

83-
Future<Directory> _getCookiePath() async {
83+
Future<Directory> getCookiePath() async {
8484
final directory = await getApplicationDocumentsDirectory();
8585
final path = directory.path;
8686
final Directory dir = Directory('$path/cookies');
@@ -133,18 +133,18 @@ class ClientIO extends ClientBase with ClientMixin {
133133
Future init() async {
134134
if(_initProgress) return;
135135
_initProgress = true;
136-
// if web skip cookie implementation and origin header as those are automatically handled by browsers
137-
final Directory cookieDir = await _getCookiePath();
136+
final Directory cookieDir = await getCookiePath();
138137
_cookieJar = PersistCookieJar(storage: FileStorage(cookieDir.path));
139138
_interceptors.add(CookieManager(_cookieJar));
140-
PackageInfo packageInfo = await PackageInfo.fromPlatform();
141-
addHeader('Origin',
142-
'appwrite-${Platform.operatingSystem}://${packageInfo.packageName}');
143139

144-
//creating custom user agent
145-
DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
146140
var device = '';
147141
try {
142+
PackageInfo packageInfo = await PackageInfo.fromPlatform();
143+
addHeader('Origin',
144+
'appwrite-${Platform.operatingSystem}://${packageInfo.packageName}');
145+
146+
//creating custom user agent
147+
DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
148148
if (Platform.isAndroid) {
149149
final andinfo = await deviceInfoPlugin.androidInfo;
150150
device =
@@ -167,12 +167,14 @@ class ClientIO extends ClientBase with ClientMixin {
167167
final macinfo = await deviceInfoPlugin.macOsInfo;
168168
device = '(Macintosh; ${macinfo.model})';
169169
}
170+
addHeader(
171+
'user-agent', '${packageInfo.packageName}/${packageInfo.version} $device');
170172
} catch (e) {
171173
debugPrint('Error getting device info: $e');
172174
device = Platform.operatingSystem;
175+
addHeader(
176+
'user-agent', '$device');
173177
}
174-
addHeader(
175-
'user-agent', '${packageInfo.packageName}/${packageInfo.version} $device');
176178

177179
_initialized = true;
178180
_initProgress = false;

tests/languages/flutter/tests.dart

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
import 'package:flutter/material.dart';
22
import '../lib/packageName.dart';
3+
import '../lib/client_io.dart';
34
import '../lib/models.dart';
5+
import 'dart:io';
6+
7+
class MockClient extends ClientIO {
8+
Future<Directory> getCookiePath() async {
9+
final dir = Directory('cookies');
10+
await dir.create();
11+
return dir;
12+
}
13+
}
414

515
void main() async {
616
WidgetsFlutterBinding.ensureInitialized();
7-
Client client = Client();
17+
18+
Client client = MockClient();
819
Foo foo = Foo(client);
920
Bar bar = Bar(client);
1021
General general = General(client);

0 commit comments

Comments
 (0)