mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-25 23:21:21 +01:00
* feat: add payment tab
* feat: add buttons
* feat: persist `pay to enable` changes
* fix: do not disable extension on upgrade
* fix: show releases tab first
* feat: extract `enableExtension` logic
* refactor: rename routes
* feat: show dialog for paying extension
* feat: create invoice to enable
* refactor: extract enable/disable extension logic
* feat: add extra info to UserExtensions
* feat: check payment for extension enable
* fix: parsing
* feat: admins must not pay
* fix: code checks
* fix: test
* refactor: extract extension activate/deactivate to the `api` side
* feat: add `get_user_extensions `
* feat: return explicit `requiresPayment`
* feat: add `isPaymentRequired` to extension list
* fix: `paid_to_enable` status
* fix: ui layout
* feat: show QR Code
* feat: wait for invoice to be paid
* test: removed deprecated test and dead code
* feat: add re-check button
* refactor: rename paths for endpoints
* feat: i18n
* feat: add `{"success": True}`
* test: fix listener
* fix: rebase errors
* chore: update bundle
* fix: return error status code for the HTML error pages
* fix: active extension loading from file system
* chore: temp commit
* fix: premature optimisation
* chore: make check
* refactor: remove extracted logic
* chore: code format
* fix: enable by default after install
* fix: use `discard` instead of `remove` for `set`
* chore: code format
* fix: better error code
* fix: check for stop function before invoking
* feat: check if the wallet belongs to the admin user
* refactor: return 402 Requires Payment
* chore: more typing
* chore: temp checkout different branch for tests
* fix: too much typing
* fix: remove try-except
* fix: typo
* fix: manual format
* fix: merge issue
* remove this line
---------
Co-authored-by: dni ⚡ <office@dnilabs.com>
52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
import pytest
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_core_views_generic(client):
|
|
response = await client.get("/")
|
|
assert response.status_code == 200, f"{response.url} {response.status_code}"
|
|
|
|
|
|
# check GET /wallet: wrong user, expect 400
|
|
@pytest.mark.asyncio
|
|
async def test_get_wallet_with_nonexistent_user(client):
|
|
response = await client.get("wallet", params={"usr": "1"})
|
|
assert response.status_code == 400, f"{response.url} {response.status_code}"
|
|
|
|
|
|
# check GET /wallet: wallet and user
|
|
@pytest.mark.asyncio
|
|
async def test_get_wallet_with_user_and_wallet(client, to_user, to_wallet):
|
|
response = await client.get(
|
|
"wallet", params={"usr": to_user.id, "wal": to_wallet.id}
|
|
)
|
|
assert response.status_code == 200, f"{response.url} {response.status_code}"
|
|
|
|
|
|
# check GET /wallet: wrong wallet and user, expect 400
|
|
@pytest.mark.asyncio
|
|
async def test_get_wallet_with_user_and_wrong_wallet(client, to_user):
|
|
response = await client.get("wallet", params={"usr": to_user.id, "wal": "1"})
|
|
assert response.status_code == 400, f"{response.url} {response.status_code}"
|
|
|
|
|
|
# check GET /extensions: extensions list
|
|
@pytest.mark.asyncio
|
|
async def test_get_extensions(client, to_user):
|
|
response = await client.get("extensions", params={"usr": to_user.id})
|
|
assert response.status_code == 200, f"{response.url} {response.status_code}"
|
|
|
|
|
|
# check GET /extensions: extensions list wrong user, expect 400
|
|
@pytest.mark.asyncio
|
|
async def test_get_extensions_wrong_user(client):
|
|
response = await client.get("extensions", params={"usr": "1"})
|
|
assert response.status_code == 400, f"{response.url} {response.status_code}"
|
|
|
|
|
|
# check GET /extensions: no user given, expect code 400 bad request
|
|
@pytest.mark.asyncio
|
|
async def test_get_extensions_no_user(client):
|
|
response = await client.get("extensions")
|
|
# bad request
|
|
assert response.status_code == 401, f"{response.url} {response.status_code}"
|