37 lines
1.4 KiB
Dart
37 lines
1.4 KiB
Dart
import 'package:dio/dio.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:reelbox/data/api_service.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
import 'api_service_test.dart' as fixtures;
|
|
|
|
void main() {
|
|
TestWidgetsFlutterBinding.ensureInitialized();
|
|
|
|
test('fresh catalogue requests use HTTPS port 443', () async {
|
|
SharedPreferences.setMockInitialValues({});
|
|
final adapter = fixtures.StubAdapter((_) => fixtures.jsonBody([]));
|
|
final api = ApiService(dio: Dio()..httpClientAdapter = adapter);
|
|
await api.genres();
|
|
expect(adapter.requests.single.uri.port, 443);
|
|
expect(api.baseUrl, 'https://reelbox.dartty.top/api/');
|
|
});
|
|
|
|
test(
|
|
'legacy 8443 selections migrate without retaining endpoint URLs',
|
|
() async {
|
|
SharedPreferences.setMockInitialValues({
|
|
'reelbox.api-selection.v1': 'https://reelbox.dartty.top:8443/api/',
|
|
'reelbox.trusted-api.v1': 'https://reelbox.dartty.top:8443/api/',
|
|
});
|
|
final adapter = fixtures.StubAdapter((_) => fixtures.jsonBody([]));
|
|
final api = ApiService(dio: Dio()..httpClientAdapter = adapter);
|
|
await api.genres();
|
|
expect(adapter.requests.single.uri.port, 443);
|
|
final prefs = await SharedPreferences.getInstance();
|
|
expect(prefs.getString('reelbox.api-selection.v1'), 'primary');
|
|
expect(prefs.containsKey('reelbox.trusted-api.v1'), isFalse);
|
|
},
|
|
);
|
|
}
|