Skip to content

Commit b0116c6

Browse files
committed
fix: 🐛 error on select after insert
Always return inserted record(s) as list with response Fixes #16
1 parent 606e847 commit b0116c6

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

lib/src/mock_supabase_http_client.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,9 +338,10 @@ class MockSupabaseHttpClient extends BaseClient {
338338
if (!_database.containsKey(tableKey)) {
339339
_database[tableKey] = [];
340340
}
341+
341342
if (data is Map<String, dynamic>) {
342343
_database[tableKey]!.add(data);
343-
return _createResponse(data, request: request);
344+
return _createResponse([data], request: request);
344345
} else if (data is List) {
345346
final List<Map<String, dynamic>> items =
346347
List<Map<String, dynamic>>.from(data);

test/mock_supabase_http_client_test.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@ void main() {
3535
expect(posts.first, {'title': 'Hello, world!'});
3636
});
3737

38+
test('Insert then select', () async {
39+
// Test inserting a record
40+
final posts = await mockSupabase
41+
.from('posts')
42+
.insert({'title': 'Hello, world!'}).select();
43+
expect(posts.length, 1);
44+
expect(posts.first, {'title': 'Hello, world!'});
45+
});
46+
3847
test('Upsert', () async {
3948
// Test upserting a record
4049
await mockSupabase

0 commit comments

Comments
 (0)