Files
reelbox/test/api_release_endpoint_test.dart
T

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);
},
);
}