39 lines
1.0 KiB
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');
|
|
});
|
|
}
|