diff options
| author | Max Nanis | 2026-08-21 01:38:27 -0700 |
|---|---|---|
| committer | Max Nanis | 2026-08-21 01:38:27 -0700 |
| commit | 05102628a7dc85a5a19a32415a7ec41ea7a91812 (patch) | |
| tree | f5253ad2f57a9f05776eaf8f5dfb21bedbd08c7e /tests/models/gr | |
| parent | 0c10237223829818752ab4fc431957c0b22a0e23 (diff) | |
| download | generalresearch-05102628a7dc85a5a19a32415a7ec41ea7a91812.tar.gz generalresearch-05102628a7dc85a5a19a32415a7ec41ea7a91812.zip | |
moving create_dummy, organizing test_utils, working on django config for any repos
Diffstat (limited to 'tests/models/gr')
| -rw-r--r-- | tests/models/gr/test_authentication.py | 36 | ||||
| -rw-r--r-- | tests/models/gr/test_base.py | 25 | ||||
| -rw-r--r-- | tests/models/gr/test_business.py | 75 |
3 files changed, 86 insertions, 50 deletions
diff --git a/tests/models/gr/test_authentication.py b/tests/models/gr/test_authentication.py index e906d8c..6c84a5d 100644 --- a/tests/models/gr/test_authentication.py +++ b/tests/models/gr/test_authentication.py @@ -3,17 +3,20 @@ import json import os from datetime import datetime, timezone from random import randint +from typing import Callable from uuid import uuid4 import pytest +from generalresearch.models.gr.authentication import GRUser +from generalresearch.models.gr.team import Membership, Team + SSO_ISSUER = "" class TestGRUser: - def test_init(self, gr_user): - from generalresearch.models.gr.authentication import GRUser + def test_init(self, gr_user: GRUser): assert isinstance(gr_user, GRUser) assert not gr_user.is_superuser @@ -26,8 +29,7 @@ class TestGRUser: def test_businesses(self): pass - def test_teams(self, gr_user, membership, gr_db, gr_redis_config): - from generalresearch.models.gr.team import Team + def test_teams(self, gr_user: GRUser, membership, gr_db, gr_redis_config): assert gr_user.teams is None @@ -40,11 +42,11 @@ class TestGRUser: def test_prefetch_team_duplicates( self, gr_user_token, - gr_user, - membership, + gr_user: GRUser, + membership: Membership, product_factory, membership_factory, - team, + team: Team, thl_web_rr, gr_redis_config, gr_db, @@ -61,10 +63,10 @@ class TestGRUser: def test_products( self, - gr_user, + gr_user: GRUser, product_factory, - team, - membership, + team: Team, + membership: Membership, gr_db, thl_web_rr, gr_redis_config, @@ -102,12 +104,12 @@ class TestGRUserMethods: def test_to_redis( self, - gr_user, + gr_user: GRUser, gr_redis, - team, + team: Team, business, product_factory, - membership_factory, + membership_factory: Callable[Membership], ): product_factory(team=team, business=business) membership_factory(team=team, gr_user=gr_user) @@ -122,7 +124,7 @@ class TestGRUserMethods: def test_set_cache( self, - gr_user, + gr_user: GRUser, gr_user_token, gr_redis, gr_db, @@ -145,7 +147,7 @@ class TestGRUserMethods: def test_set_cache_gr_user( self, - gr_user, + gr_user: GRUser, gr_user_token, gr_redis, gr_redis_config, @@ -203,9 +205,7 @@ class TestGRUserMethods: @pytest.mark.skip def test_set_cache_business_uuids( self, - gr_user, - membership, - gr_user_token, + gr_user: GRUser, gr_redis, gr_db, thl_web_rr, diff --git a/tests/models/gr/test_base.py b/tests/models/gr/test_base.py new file mode 100644 index 0000000..323d7b6 --- /dev/null +++ b/tests/models/gr/test_base.py @@ -0,0 +1,25 @@ +from typing import Callable + +from pydantic import PostgresDsn + +from generalresearch.pg_helper import PostgresConfig + + +class TestGRPostgresDjangoCreation: + + def test_django_creation( + self, + django_db_factory: Callable[..., None], + ): + + dsn = django_db_factory("gr_carer") + assert isinstance(dsn, PostgresDsn) + + def test_django_tables(self, thl_web_rw: PostgresConfig): + res = thl_web_rw.execute_sql_query(query=""" + SELECT COUNT(*) + FROM information_schema.tables + WHERE table_schema = 'public'; + """) + assert len(res) == 1 + assert res[0]["count"] == 56 diff --git a/tests/models/gr/test_business.py b/tests/models/gr/test_business.py index e8bd06a..7a84f23 100644 --- a/tests/models/gr/test_business.py +++ b/tests/models/gr/test_business.py @@ -6,6 +6,7 @@ from uuid import uuid4 import pandas as pd import pytest +from dask.distributed import Client as DaskClient # noinspection PyUnresolvedReferences from distributed.utils_test import ( @@ -14,22 +15,27 @@ from distributed.utils_test import ( from pytest import approx from generalresearch.currency import USDCent +from generalresearch.managers.gr.business import BusinessBankAccountManager +from generalresearch.models.gr.business import ( + Business, + BusinessAddress, + BusinessBankAccount, + BusinessContact, +) from generalresearch.models.thl.finance import ( BusinessBalances, ProductBalances, ) - -# from test_utils.incite.conftest import mnt_filepath -from test_utils.managers.conftest import ( - business_bank_account_manager, - lm, - thl_lm, -) +from generalresearch.pg_helper import PostgresConfig class TestBusinessBankAccount: - def test_init(self, business, business_bank_account_manager): + def test_init( + self, + business: Business, + business_bank_account_manager: BusinessBankAccountManager, + ): from generalresearch.models.gr.business import ( BusinessBankAccount, TransferMethod, @@ -42,7 +48,13 @@ class TestBusinessBankAccount: ) assert isinstance(instance, BusinessBankAccount) - def test_business(self, business_bank_account, business, gr_db, gr_redis_config): + def test_business( + self, + business_bank_account: BusinessBankAccount, + business: Business, + gr_db, + gr_redis_config, + ): from generalresearch.models.gr.business import Business assert business_bank_account.business is None @@ -56,16 +68,13 @@ class TestBusinessBankAccount: class TestBusinessAddress: - def test_init(self, business_address): - from generalresearch.models.gr.business import BusinessAddress - + def test_init(self, business_address: BusinessAddress): assert isinstance(business_address, BusinessAddress) class TestBusinessContact: def test_init(self): - from generalresearch.models.gr.business import BusinessContact bc = BusinessContact(name="abc", email="test@abc.com") assert isinstance(bc, BusinessContact) @@ -104,7 +113,7 @@ class TestBusiness: user_factory, session_with_tx_factory, pop_ledger_merge, - client_no_amm, + client_no_amm: DaskClient, ledger_collection, mnt_filepath, create_main_accounts, @@ -220,11 +229,11 @@ class TestBusiness: def test_balance( self, - business, + business: Business, mnt_filepath, - client_no_amm, - thl_web_rr, - lm, + client_no_amm: DaskClient, + thl_web_rr: PostgresConfig, + ledger_manager, pop_ledger_merge, ): assert business.balance is None @@ -232,7 +241,7 @@ class TestBusiness: with pytest.raises(expected_exception=AssertionError) as cm: business.prebuild_balance( thl_pg_config=thl_web_rr, - lm=lm, + lm=ledger_manager, ds=mnt_filepath, client=client_no_amm, pop_ledger=pop_ledger_merge, @@ -248,7 +257,7 @@ class TestBusiness: business, product_factory, thl_web_rr, - thl_lm, + thl_ledger_manager, business_payout_event_manager, ): assert business.payouts is None @@ -256,17 +265,17 @@ class TestBusiness: with pytest.raises(expected_exception=AssertionError) as cm: business.prebuild_payouts( thl_pg_config=thl_web_rr, - thl_lm=thl_lm, + thl_lm=thl_ledger_manager, bpem=business_payout_event_manager, ) assert "Must provide product_uuids" in str(cm.value) p = product_factory(business=business) - thl_lm.get_account_or_create_bp_wallet(product=p) + thl_ledger_manager.get_account_or_create_bp_wallet(product=p) business.prebuild_payouts( thl_pg_config=thl_web_rr, - thl_lm=thl_lm, + thl_lm=thl_ledger_manager, bpem=business_payout_event_manager, ) assert isinstance(business.payouts, list) @@ -274,17 +283,17 @@ class TestBusiness: def test_payouts( self, - business, - product_factory, + business: Business, + product_factory: Callable[Product], bp_payout_factory, - thl_lm, + thl_ledger_manager, thl_web_rr, business_payout_event_manager, create_main_accounts, ): create_main_accounts() p = product_factory(business=business) - thl_lm.get_account_or_create_bp_wallet(product=p) + thl_ledger_manager.get_account_or_create_bp_wallet(product=p) business_payout_event_manager.set_account_lookup_table(thl_lm=thl_lm) bp_payout_factory( @@ -293,7 +302,7 @@ class TestBusiness: business.prebuild_payouts( thl_pg_config=thl_web_rr, - thl_lm=thl_lm, + thl_lm=thl_ledger_manager, bpem=business_payout_event_manager, ) assert len(business.payouts) == 1 @@ -306,10 +315,12 @@ class TestBusiness: skip_wallet_balance_check=True, skip_one_per_day_check=True, ) - business_payout_event_manager.set_account_lookup_table(thl_lm=thl_lm) + business_payout_event_manager.set_account_lookup_table( + thl_lm=thl_ledger_manager + ) business.prebuild_payouts( thl_pg_config=thl_web_rr, - thl_lm=thl_lm, + thl_lm=thl_ledger_manager, bpem=business_payout_event_manager, ) assert len(business.payouts) == 1 @@ -370,7 +381,7 @@ class TestBusiness: self, business, thl_web_rr, - thl_lm, + thl_ledger_manager, mnt_filepath, client_no_amm, pop_ledger_merge, @@ -496,7 +507,7 @@ class TestBusinessBalance: mnt_filepath, bp_payout_factory, thl_lm, - lm, + ledger_manager, duration, offset, start, |
