lnbits/tests/extensions/invoices/conftest.py
Lee Salminen c32ff1de59
New Extension: Invoicing (#733)
* initial commit

* add docs

* black & prettier

* mobile styles

* add print view

* prettier

* make format

* initial migrations un-messed

* make migrations work for sqlite

* add invoices table

* clean migrations

* add migration to conv

* fix card size

* hopefully fix test migration

* add missing status

* timestamp

* init testing

* remove draft invoice by default on create

* what should i test

* make format

* raise if not invoice

* new test and renaming

* fix issue reported by @talvasconcelos which prevented users from setting status on creation

* readme

* run black

* trying to make tests work

* make it work again

* send paid amount

* partial pay flow

* good coding

* can't get these test to work

* clean up and commenting

* make format

* validation for 2 decimals

Co-authored-by: ben <ben@arc.wales>
Co-authored-by: Tiago vasconcelos <talvasconcelos@gmail.com>
2022-08-13 21:37:44 +02:00

38 lines
1.0 KiB
Python

import pytest
import pytest_asyncio
from lnbits.core.crud import create_account, create_wallet
from lnbits.extensions.invoices.crud import (
create_invoice_internal,
create_invoice_items,
)
from lnbits.extensions.invoices.models import CreateInvoiceData
@pytest_asyncio.fixture
async def invoices_wallet():
user = await create_account()
wallet = await create_wallet(user_id=user.id, wallet_name="invoices_test")
return wallet
@pytest_asyncio.fixture
async def accounting_invoice(invoices_wallet):
invoice_data = CreateInvoiceData(
status="open",
currency="USD",
company_name="LNBits, Inc",
first_name="Ben",
last_name="Arc",
items=[{"amount": 10.20, "description": "Item costs 10.20"}],
)
invoice = await create_invoice_internal(
wallet_id=invoices_wallet.id, data=invoice_data
)
items = await create_invoice_items(invoice_id=invoice.id, data=invoice_data.items)
invoice_dict = invoice.dict()
invoice_dict["items"] = items
return invoice_dict