diff --git a/lib/src/utils/filter_parser.dart b/lib/src/utils/filter_parser.dart index bb4be62..9cdbb21 100644 --- a/lib/src/utils/filter_parser.dart +++ b/lib/src/utils/filter_parser.dart @@ -68,7 +68,11 @@ class FilterParser { return (row) => row[columnName] == null; } else if (postrestFilter.startsWith('in.')) { final value = postrestFilter.substring(3); - final values = value.substring(1, value.length - 1).split(','); + final values = + value.substring(1, value.length - 1) + .split(',') + .map((e) => e.replaceAll(RegExp(r'^"|"$'), '')) + .toList(); return (row) => values.contains(row[columnName].toString()); } else if (postrestFilter.startsWith('cs.')) { final value = postrestFilter.substring(3); diff --git a/test/mock_supabase_http_client_test.dart b/test/mock_supabase_http_client_test.dart index 549e4b8..3c9d250 100644 --- a/test/mock_supabase_http_client_test.dart +++ b/test/mock_supabase_http_client_test.dart @@ -380,6 +380,10 @@ void main() { final posts = await mockSupabase.from('posts').select().inFilter('id', [1, 2]); expect(posts.length, 2); + + final strPosts = + await mockSupabase.from('posts').select().inFilter('title', ["First post"]); + expect(strPosts.length, 1); }); group('Not filters', () { setUp(() async {