"""Tests for Message Handlers.""" from src.logic.msg_handlers import OP_UPDATE from src.logic.msg_handlers import OP_DELETE from src.logic.msg_handlers import get_operation_type from src.logic.msg_handlers import prepare_message def test_get_operation_type_update(fan_updated_email_only): """Test operation is correct in update messages.""" operation = get_operation_type(fan_updated_email_only) assert operation == OP_UPDATE def test_get_operation_type_delete(fan_deleted): """Test operation is correct in delete messages.""" operation = get_operation_type(fan_deleted) assert operation == OP_DELETE def test_prepare_message_update(fan_updated_email_only): """Test a message is correctly prepared for updates.""" msg = prepare_message(fan_updated_email_only, OP_UPDATE) assert msg.Email__c == fan_updated_email_only['updatedFields'][0]['newValue'] assert msg.Delete_My_Information__c is None assert msg.Delete_Reason__c is None def test_prepare_message_delete(fan_deleted): """Test a message is correctly prepared for a delete update.""" msg = prepare_message(fan_deleted, OP_DELETE) assert msg.Delete_My_Information__c is True assert msg.Delete_Reason__c == 'Fan Requested'