"""tests for VendorAgreementPersister class.""" from collaborator.models.rds.vendor_agreement_persister import VendorAgreementPersister from collaborator.utils.typing import ACCOUNT_TYPE_VENDOR, Account, User from tests.testutils import db @db.test_schema_default_seed def test_create_vendor_agreement_existing_agreement(mock_account, mock_user): """Test create vendor agreement.""" result, created = VendorAgreementPersister.create_vendor_agreement( mock_account, mock_user ) result["date_accepted"] = "now" assert created is False assert result == { "id": 1, "user_id": "7ec441df-7b21-4a71-a9da", "vendor_id": mock_account.id, "date_accepted": "now", } @db.test_schema_default_seed def test_create_vendor_agreement(): """Test create vendor agreement.""" account = Account(id=123, type=ACCOUNT_TYPE_VENDOR) user = User(id="7ec441df-7b21-4a71-a9da", type="alw") result, created = VendorAgreementPersister.create_vendor_agreement(account, user) result["date_accepted"] = "now" assert created is True assert result == { "id": 2, "user_id": "7ec441df-7b21-4a71-a9da", "vendor_id": account.id, "date_accepted": "now", } @db.test_schema_default_seed def test_get_vendor_agreement_for_account(mock_account): """Test getting a vendor agreement for an account.""" result = VendorAgreementPersister.get_vendor_agreement_for_account(mock_account) result["date_accepted"] = "now" assert result == { "id": 1, "user_id": "7ec441df-7b21-4a71-a9da", "vendor_id": mock_account.id, "date_accepted": "now", } @db.test_schema_default_seed def test_get_vendor_agreement_for_account_not_found(): """Test getting a vendor agreement for an account.""" account = Account(id=123, type=ACCOUNT_TYPE_VENDOR) result = VendorAgreementPersister.get_vendor_agreement_for_account(account) assert not result