Files
kickkings_admin_app/test/account_test.dart
T
2026-10-16 01:25:50 +05:30

61 lines
1.5 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:kickkings_support/models/account.dart';
void main() {
test('admins can read and write support', () {
const account = Account(
id: '1',
username: 'ada',
isAdmin: true,
permissions: {},
);
expect(account.canReadSupport, isTrue);
expect(account.canWriteSupport, isTrue);
});
test('support read does not grant write', () {
final account = Account.fromJson({
'id': '1',
'username': 'ada',
'isAdmin': false,
'permissions': {
'support': {'read': true, 'write': false},
},
});
expect(account.canReadSupport, isTrue);
expect(account.canWriteSupport, isFalse);
});
test('missing support permission cannot enter the inbox', () {
final account = Account.fromJson({
'id': '1',
'username': 'ada',
'isAdmin': false,
'permissions': {
'players': {'read': true},
},
});
expect(account.canReadSupport, isFalse);
expect(account.canWriteSupport, isFalse);
});
test('account json round trip keeps support flags', () {
final account = Account.fromJson({
'id': 'acct',
'username': 'ada',
'isAdmin': false,
'permissions': {
'support': {'read': true, 'write': true},
},
});
final restored = Account.fromJson(account.toJson());
expect(restored.canReadSupport, isTrue);
expect(restored.canWriteSupport, isTrue);
expect(restored.username, 'ada');
});
}