From 5daf076ee424b11269e70e753d8f6de0cfab1f5b Mon Sep 17 00:00:00 2001 From: Arseni Date: Fri, 13 Mar 2026 16:58:36 +0300 Subject: [PATCH] added missing test file for build to run --- .../test/ledger/account_mapper_test.dart | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 frontend/pshared/test/ledger/account_mapper_test.dart diff --git a/frontend/pshared/test/ledger/account_mapper_test.dart b/frontend/pshared/test/ledger/account_mapper_test.dart new file mode 100644 index 00000000..5dabb1f0 --- /dev/null +++ b/frontend/pshared/test/ledger/account_mapper_test.dart @@ -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? 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')); + }); + }); +}