diff --git a/lib/src/mock_supabase_http_client.dart b/lib/src/mock_supabase_http_client.dart index ebeab1c..1cccb9d 100644 --- a/lib/src/mock_supabase_http_client.dart +++ b/lib/src/mock_supabase_http_client.dart @@ -541,7 +541,7 @@ class MockSupabaseHttpClient extends BaseClient { }).toList(); } else if (key.contains('!inner')) { // referenced table filtering with !inner - } else { + } else if (returningRows.isNotEmpty) { // Regular filtering on the top level table final filter = FilterParser.parseFilter( columnName: key, diff --git a/test/mock_supabase_http_client_test.dart b/test/mock_supabase_http_client_test.dart index 63a158d..90db271 100644 --- a/test/mock_supabase_http_client_test.dart +++ b/test/mock_supabase_http_client_test.dart @@ -122,6 +122,16 @@ void main() { expect(posts.length, 0); }); + test('Select after deleting all items', () async { + // Insert an item + await mockSupabase + .from('posts') + .insert({'id': 1, 'title': 'To be deleted'}); + await mockSupabase.from('posts').delete().eq('id', 1); + final posts = await mockSupabase.from('posts').select().eq('id', 1); + expect(posts.length, 0); + }); + test('Select all columns', () async { // Test selecting all records await mockSupabase.from('posts').insert([