"""Test vendor_agreement logic. Tests for logic layer functions for vendor_agreement. """ from unittest.mock import MagicMock from owsresponse import response from users.logic import vendor_agreement from users.models import vendor_agreement as vendor_agreement_model def test_create_vendor_agreement(monkeypatch): """Test create_vendor_agreement function.""" data = { 'vendor_agreement_id': 1, 'vendor_id': 123, 'user_id': 456, 'opt_in_preference_id': 345, 'date_accepted': '2010-04-11', } monkeypatch.setattr( vendor_agreement_model, 'create_vendor_agreement', MagicMock(return_value=response.Response(data)), ) result = vendor_agreement.create_vendor_agreement(data) assert result.status == 200 assert result.message == data def test_create_vendor_agreement_with_impersonator_id(monkeypatch): """Test create_vendor_agreement function.""" data = { 'vendor_agreement_id': 1, 'vendor_id': 123, 'user_id': 456, 'opt_in_preference_id': 345, 'date_accepted': '2010-04-11', 'impersonator_user_id': '111', } monkeypatch.setattr( vendor_agreement_model, 'create_vendor_agreement', MagicMock(return_value=response.Response(data)), ) result = vendor_agreement.create_vendor_agreement(data) assert result.status == 200 assert result.message == data def test_get_vendor_agreement(monkeypatch): """Test create_vendor_agreement function.""" data = { 'vendor_agreement_id': 1, 'vendor_id': 123, 'user_id': 456, 'opt_in_preference_id': 345, 'date_accepted': '2010-04-11', } vendor_id = data.get('vendor_id') opt_in_preference_id = data.get('opt_in_preference_id') monkeypatch.setattr( vendor_agreement_model, 'get_vendor_agreement', MagicMock(return_value=response.Response(data)), ) result = vendor_agreement.get_vendor_agreement(vendor_id, opt_in_preference_id, False) assert result.status == 200 assert result.message == data def test_delete_vendor_agreement(monkeypatch): """Test delete vendor agreement.""" monkeypatch.setattr( vendor_agreement_model, 'delete_vendor_agreement', MagicMock(return_value=response.Response(status=204)), ) result = vendor_agreement.delete_vendor_agreement(1) assert result.status == 204