"""Tests for queue move history model.""" from datetime import datetime from product_review.api import db from product_review.models import queue_move_history as queue_move_history_model from tests.utils.db_utils import create_test_queue_move_history_item def test_add_queue_move(app_context): """Test add_queue_move.""" app_context.g.request_context.identity_id = "test_user_id" queue_move_history_model.add_queue_move( review_queue_id=123, queue_name="under_investigation", previous_queue_name="initial", move_note=None, moved_to_target_id=None, moved_to_target_name=None, moved_to_target_email=None, moved_to_orchadmin_user_id=None, ) db.session.commit() queue_move_history_item = queue_move_history_model.get_queue_move_history( review_queue_id=123 )[0] assert isinstance(queue_move_history_item.pop("moved_at_datetime"), datetime) assert queue_move_history_item == { "queue_move_history_id": 1, "review_queue_id": 123, "queue_name": "under_investigation", "previous_queue_name": "initial", "moved_to_queue_by_user_id": "test_user_id", "moved_to_target_id": None, "moved_to_target_name": None, "moved_to_target_email": None, "moved_to_orchadmin_user_id": None, "move_note": None, "escalation_type": None } def test_get_queue_move_history_found(app_context): """Test get_queue_move_history found.""" # This item 456 should not be returned by get_queue_move_history since it has # a different review_queue_id. create_test_queue_move_history_item( review_queue_id=456, queue_name="under_investigation", previous_queue_name="initial", moved_to_queue_by_user_id="test_user_id", ) create_test_queue_move_history_item( review_queue_id=123, queue_name="under_investigation", previous_queue_name="initial", moved_to_queue_by_user_id="test_user_id", ) create_test_queue_move_history_item( review_queue_id=123, queue_name="initial", previous_queue_name="under_investigation", moved_to_queue_by_user_id="abcdefg", ) queue_move_history_items = queue_move_history_model.get_queue_move_history(123) queue_move_history_item_0, queue_move_history_item_1 = queue_move_history_items # Remove created_datetime from dict since it's set by the database and will # change each time the test is run. assert isinstance(queue_move_history_item_0.pop("moved_at_datetime"), datetime) assert queue_move_history_item_0 == { "queue_move_history_id": 2, "review_queue_id": 123, "queue_name": "under_investigation", "previous_queue_name": "initial", "moved_to_queue_by_user_id": "test_user_id", "moved_to_target_id": None, "moved_to_target_name": None, "moved_to_target_email": None, "moved_to_orchadmin_user_id": None, "move_note": None, "escalation_type": None } assert isinstance(queue_move_history_item_1.pop("moved_at_datetime"), datetime) assert queue_move_history_item_1 == { "queue_move_history_id": 3, "review_queue_id": 123, "queue_name": "initial", "previous_queue_name": "under_investigation", "moved_to_queue_by_user_id": "abcdefg", "moved_to_target_id": None, "moved_to_target_name": None, "moved_to_target_email": None, "moved_to_orchadmin_user_id": None, "move_note": None, "escalation_type": None } def test_get_queue_move_history_not_found(app_context): """Test get_queue_move_history not found.""" assert not queue_move_history_model.get_queue_move_history(123) def test_delete(): """Test delete.""" create_test_queue_move_history_item( review_queue_id=123, queue_name="under_investigation", previous_queue_name="initial", moved_to_queue_by_user_id="test_user_id", ) create_test_queue_move_history_item( review_queue_id=123, queue_name="initial", previous_queue_name="under_investigation", moved_to_queue_by_user_id="test_user_id_2", ) queue_move_history_items = queue_move_history_model.get_queue_move_history(123) queue_move_history_item_0, queue_move_history_item_1 = queue_move_history_items # Remove created_datetime from dict since it's set by the database and will # change each time the test is run. assert isinstance(queue_move_history_item_0.pop("moved_at_datetime"), datetime) assert queue_move_history_item_0 == { "queue_move_history_id": 1, "review_queue_id": 123, "queue_name": "under_investigation", "previous_queue_name": "initial", "moved_to_queue_by_user_id": "test_user_id", "moved_to_target_id": None, "moved_to_target_name": None, "moved_to_target_email": None, "moved_to_orchadmin_user_id": None, "move_note": None, "escalation_type": None } assert isinstance(queue_move_history_item_1.pop("moved_at_datetime"), datetime) assert queue_move_history_item_1 == { "queue_move_history_id": 2, "review_queue_id": 123, "queue_name": "initial", "previous_queue_name": "under_investigation", "moved_to_queue_by_user_id": "test_user_id_2", "moved_to_target_id": None, "moved_to_target_name": None, "moved_to_target_email": None, "moved_to_orchadmin_user_id": None, "move_note": None, "escalation_type": None } queue_move_history_model.delete(123) assert queue_move_history_model.get_queue_move_history(123) == []