tasq/test/services/admin_profile_service_test.dart

39 lines
1.0 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:tasq/services/admin_profile_service.dart';
class _FakeFromBuilder {
Map<String, dynamic>? lastUpdate;
String? lastEqCol;
String? lastEqVal;
_FakeFromBuilder update(Map<String, dynamic> v) {
lastUpdate = v;
return this;
}
_FakeFromBuilder eq(String col, String val) {
lastEqCol = col;
lastEqVal = val;
return this;
}
_FakeFromBuilder select() => this;
Future<dynamic> maybeSingle() async => {'error': null, 'data': lastUpdate};
}
class _FakeSupabaseClient {
final _FakeFromBuilder builder = _FakeFromBuilder();
dynamic from(String _) => builder;
}
void main() {
test('setUserLock updates is_locked on profiles', () async {
final fake = _FakeSupabaseClient();
final svc = AdminProfileService(fake as dynamic);
await svc.setUserLock('user-123', true);
expect(fake.builder.lastUpdate, {'is_locked': true});
expect(fake.builder.lastEqCol, 'id');
expect(fake.builder.lastEqVal, 'user-123');
});
}