Merge pull request 'added missing test file for build to run' (#730) from SEND074 into main
All checks were successful
ci/woodpecker/push/frontend Pipeline was successful

Reviewed-on: #730
This commit was merged in pull request #730.
This commit is contained in:
2026-03-13 14:14:59 +00:00

View File

@@ -0,0 +1,63 @@
import 'package:test/test.dart';
import 'package:pshared/data/dto/describable.dart';
import 'package:pshared/data/dto/ledger/account.dart';
import 'package:pshared/data/dto/ledger/role.dart';
import 'package:pshared/data/dto/ledger/status.dart';
import 'package:pshared/data/dto/ledger/type.dart';
import 'package:pshared/data/mapper/ledger/account.dart';
LedgerAccountDTO _baseDto({
DescribableDTO? describable,
Map<String, String>? metadata,
}) {
return LedgerAccountDTO(
ledgerAccountRef: 'ledger:r1',
organizationRef: 'org:1',
accountCode: 'asset:rub:abc',
accountType: LedgerAccountTypeDTO.asset,
currency: 'RUB',
status: LedgerAccountStatusDTO.active,
allowNegative: false,
role: LedgerAccountRoleDTO.operating,
metadata: metadata,
describable: describable,
);
}
void main() {
group('LedgerAccountDTOMapper', () {
test('keeps describable name when it is present', () {
final dto = _baseDto(
describable: const DescribableDTO(name: 'Main RUB', description: 'ops'),
metadata: const {'name': 'Metadata Name'},
);
final domain = dto.toDomain();
expect(domain.name, equals('Main RUB'));
expect(domain.description, equals('ops'));
});
test('uses metadata name when describable is absent', () {
final dto = _baseDto(metadata: const {'name': 'Metadata Name'});
final domain = dto.toDomain();
expect(domain.name, equals('Metadata Name'));
expect(domain.description, isNull);
});
test('uses metadata name when describable name is blank', () {
final dto = _baseDto(
describable: const DescribableDTO(name: ' ', description: 'ops'),
metadata: const {'name': 'Metadata Name'},
);
final domain = dto.toDomain();
expect(domain.name, equals('Metadata Name'));
expect(domain.description, equals('ops'));
});
});
}