"""Test for Track Crop Info model.""" from datetime import datetime from unittest.mock import patch from product_film.models import track_crop_info from tests.testutils import db @db.create_schema def test_get_track_crop_info(): """Test get_track_crop_info.""" expected_response = dict( track_id=1, orchard_user_id=1, crop_left=10, crop_right=11, crop_top=10, crop_bottom=11, created_timestamp=datetime(2018, 4, 2, 3, 32, 34), updated_timestamp=datetime(2018, 4, 2, 3, 32, 34) ) db.insert_track_crop_info_data() response = track_crop_info.get_track_crop_info(1) assert response.status == 200 assert response.message == expected_response @db.create_schema def test_get_track_crop_info_not_found(): """Test get_track_crop_info for not found.""" response = track_crop_info.get_track_crop_info(145) assert response.status == 404 @db.create_schema @patch('product_film.models.track_crop_info.datetime') def test_add_track_crop_info(mock_datetime): """Test add_track_crop_info.""" mock_now = datetime(2012, 12, 21, 1, 2, 3) mock_datetime.now.return_value = mock_now expected_response = dict( track_id=4, orchard_user_id=1, crop_left=10, crop_right=11, crop_top=12, crop_bottom=13, created_timestamp=mock_now, updated_timestamp=mock_now ) db.insert_track_crop_info_data() response = track_crop_info.add_track_crop_info(4, 10, 11, 12, 13, 1) assert response.status == 200 assert response.message == expected_response @db.create_schema @patch('product_film.models.track_crop_info.datetime') def test_update_track_crop_info(mock_datetime): """Test update track crop info.""" mock_now = datetime(2012, 12, 21, 1, 2, 3) mock_datetime.now.return_value = mock_now expected_response = dict( track_id=1, orchard_user_id=1, crop_left=20, crop_right=21, crop_top=22, crop_bottom=23, created_timestamp=datetime(2018, 4, 2, 3, 32, 34), updated_timestamp=mock_now ) db.insert_track_crop_info_data() response = track_crop_info.add_track_crop_info(1, 20, 21, 22, 23, 1) assert response.status == 200 assert response.message == expected_response