aboutsummaryrefslogtreecommitdiff
path: root/tests/managers/thl/test_ledger/test_lm_tx_metadata.py
blob: 3d8cf891300fb0f851bba04eba31a1ca539952c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from __future__ import annotations

from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from generalresearch.managers.thl.ledger_manager.ledger import (
        LedgerManager,
        LedgerTransaction,
    )


class TestLedgerMetadataManager:

    def test_get_tx_metadata_by_txs(
        self, ledger_tx: LedgerTransaction, ledger_manager: LedgerManager
    ):
        # First confirm the Ledger TX exists with 2 Entries
        res = ledger_manager.get_tx_by_id(transaction_id=ledger_tx.id)
        assert isinstance(res.metadata, dict)

        tx_metadatas = ledger_manager.get_tx_metadata_by_txs(transactions=[ledger_tx])
        assert isinstance(tx_metadatas, dict)
        assert isinstance(tx_metadatas[ledger_tx.id], dict)

        assert res.metadata == tx_metadatas[ledger_tx.id]

    def test_get_tx_metadata_ids_by_tx(
        self, ledger_tx: LedgerTransaction, ledger_manager: LedgerManager
    ):
        # First confirm the Ledger TX exists with 2 Entries
        res = ledger_manager.get_tx_by_id(transaction_id=ledger_tx.id)
        tx_metadata_cnt = len(res.metadata.keys())

        tx_metadata_ids = ledger_manager.get_tx_metadata_ids_by_tx(
            transaction=ledger_tx
        )
        assert isinstance(tx_metadata_ids, set)
        assert isinstance(next(iter(tx_metadata_ids)), int)

        assert tx_metadata_cnt == len(tx_metadata_ids)

    def test_get_tx_metadata_ids_by_txs(
        self, ledger_tx: LedgerTransaction, ledger_manager: LedgerManager
    ):
        # First confirm the Ledger TX exists with 2 Entries
        res = ledger_manager.get_tx_by_id(transaction_id=ledger_tx.id)
        tx_metadata_cnt = len(res.metadata.keys())

        tx_metadata_ids = ledger_manager.get_tx_metadata_ids_by_txs(
            transactions=[ledger_tx]
        )
        assert isinstance(tx_metadata_ids, set)
        assert isinstance(next(iter(tx_metadata_ids)), int)

        assert tx_metadata_cnt == len(tx_metadata_ids)