Allow Nordigen parameter in Bank constructor
and remove Nordigen FK to Bank from Nordigen constructor. It is auto generated upon DB insertion.
This commit is contained in:
parent
3698654715
commit
21099909c9
@ -63,7 +63,7 @@ class Bank(Base, Export):
|
||||
BIC: Mapped[str] = mapped_column(String(8))
|
||||
type: Mapped[AccountType]
|
||||
|
||||
nordigen: Mapped[Optional[Nordigen]] = relationship(init=False, lazy="joined")
|
||||
nordigen: Mapped[Optional[Nordigen]] = relationship(default=None, lazy="joined")
|
||||
|
||||
@property
|
||||
def format(self) -> dict[str, Any]:
|
||||
@ -241,7 +241,7 @@ class Note(Base):
|
||||
class Nordigen(Base, Export):
|
||||
__tablename__ = "banks_nordigen"
|
||||
|
||||
name: Mapped[bankfk] = mapped_column(primary_key=True)
|
||||
name: Mapped[bankfk] = mapped_column(primary_key=True, init=False)
|
||||
bank_id: Mapped[Optional[str]]
|
||||
requisition_id: Mapped[Optional[str]]
|
||||
invert: Mapped[Optional[bool]] = mapped_column(default=None)
|
||||
|
||||
@ -1,4 +1,8 @@
|
||||
from pfbudget.db.model import AccountType, Bank
|
||||
from pfbudget.db.model import AccountType, Bank, Nordigen
|
||||
|
||||
|
||||
checking = Bank("bank", "BANK", AccountType.checking)
|
||||
checking = Bank(
|
||||
"bank", "BANK", AccountType.checking, Nordigen("bank_id", "requisition_id")
|
||||
)
|
||||
|
||||
cc = Bank("cc", "CC", AccountType.MASTERCARD)
|
||||
|
||||
@ -25,11 +25,15 @@ def client() -> Client:
|
||||
@pytest.fixture
|
||||
def banks(client: Client) -> list[Bank]:
|
||||
banks = [
|
||||
Bank("bank", "BANK", AccountType.checking),
|
||||
Bank("bank", "BANK", AccountType.checking, Nordigen(None, "req", None)),
|
||||
Bank("broker", "BROKER", AccountType.investment),
|
||||
Bank("creditcard", "CC", AccountType.MASTERCARD),
|
||||
]
|
||||
banks[0].nordigen = Nordigen("bank", None, "req", None)
|
||||
|
||||
# fix nordigen bank names which would be generated post DB insert
|
||||
for bank in banks:
|
||||
if bank.nordigen:
|
||||
bank.nordigen.name = bank.name
|
||||
|
||||
client.insert(banks)
|
||||
return banks
|
||||
@ -48,6 +52,8 @@ def transactions(client: Client) -> list[Transaction]:
|
||||
]
|
||||
|
||||
client.insert(transactions)
|
||||
|
||||
# fix ids which would be generated post DB insert
|
||||
for i, transaction in enumerate(transactions):
|
||||
transaction.id = i + 1
|
||||
if transaction.category:
|
||||
|
||||
@ -64,8 +64,7 @@ def extractor() -> Extractor:
|
||||
|
||||
@pytest.fixture
|
||||
def bank() -> Bank:
|
||||
bank = Bank("Bank#1", "", AccountType.checking)
|
||||
bank.nordigen = Nordigen("", "", mock.id, False)
|
||||
bank = Bank("Bank#1", "", AccountType.checking, Nordigen("", mock.id, False))
|
||||
return bank
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user