mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-08-02 17:18:36 +02:00
fix(metadata): support extension custom search
This commit is contained in:
@@ -173,6 +173,8 @@ void main() {
|
||||
]),
|
||||
'songs',
|
||||
);
|
||||
expect(extension.searchBehavior?.filterIdForKind('track'), 'songs');
|
||||
expect(extension.searchBehavior?.filterIdForKind('album'), 'records');
|
||||
expect(
|
||||
HomeSearchProviderPolicy.displayFilterSelection(
|
||||
null,
|
||||
|
||||
@@ -104,4 +104,30 @@ void main() {
|
||||
});
|
||||
expect(results.single['provider_id'], 'selected-metadata');
|
||||
});
|
||||
|
||||
test('metadata custom search sends the manifest track filter', () async {
|
||||
MethodCall? capturedCall;
|
||||
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
|
||||
.setMockMethodCallHandler(backendChannel, (call) async {
|
||||
capturedCall = call;
|
||||
return jsonEncode([
|
||||
{'id': 'track-1', 'name': 'Song', 'provider_id': 'custom-metadata'},
|
||||
]);
|
||||
});
|
||||
|
||||
final results = await PlatformBridge.customSearchWithExtension(
|
||||
'custom-metadata',
|
||||
'Song Artist',
|
||||
options: {'limit': 5, 'filter': 'songs'},
|
||||
);
|
||||
|
||||
expect(capturedCall?.method, 'customSearchWithExtension');
|
||||
final arguments = capturedCall?.arguments as Map<Object?, Object?>?;
|
||||
expect(arguments, isNotNull);
|
||||
expect(arguments?['extension_id'], 'custom-metadata');
|
||||
expect(arguments?['query'], 'Song Artist');
|
||||
expect(arguments?['options'], jsonEncode({'limit': 5, 'filter': 'songs'}));
|
||||
expect(arguments?['request_id'], isA<String>());
|
||||
expect(results.single['provider_id'], 'custom-metadata');
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user