From 0a20676308f06dd1f46d2c0c3ce6ae823e497f8a Mon Sep 17 00:00:00 2001 From: Patrick Latimer Date: Tue, 25 Jun 2024 10:22:59 -0700 Subject: [PATCH] test: add unitspec/mouse validation tests --- tests/test_mouse.py | 17 +++++++++++++++++ tests/test_slimsmodel.py | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/tests/test_mouse.py b/tests/test_mouse.py index 555bd8e..9a8f72d 100644 --- a/tests/test_mouse.py +++ b/tests/test_mouse.py @@ -5,6 +5,7 @@ import unittest from pathlib import Path from unittest.mock import MagicMock, patch +from copy import deepcopy from slims.internal import Record @@ -69,6 +70,22 @@ def test_fetch_mouse_content_many_mouse( "Warning, Multiple mice in SLIMS with barcode 123456, using pk=3038" ) + @patch("logging.Logger.error") + @patch("slims.slims.Slims.fetch") + def test_fetch_mouse_content_validation_fail( + self, mock_fetch: MagicMock, mock_log_error: MagicMock + ): + """Test fetch_mouse when successful""" + wrong_return = deepcopy(self.example_fetch_mouse_response) + wrong_return[0].cntn_cf_waterRestricted.value = 14 + mock_fetch.return_value = wrong_return + mouse_info = fetch_mouse_content(self.example_client, mouse_name="123456") + self.assertEqual( + self.example_fetch_mouse_response[0].json_entity, + mouse_info, + ) + mock_log_error.assert_called() + if __name__ == "__main__": unittest.main() diff --git a/tests/test_slimsmodel.py b/tests/test_slimsmodel.py index a9b4101..a3ff69b 100644 --- a/tests/test_slimsmodel.py +++ b/tests/test_slimsmodel.py @@ -95,6 +95,10 @@ class TestModelAlias(SlimsBaseModel): expected = {"alias": "value2"} self.assertEqual(serialized, expected) + def test_unitspec(self): + """Test unitspec with no arguments""" + self.assertRaises(ValueError, UnitSpec) + if __name__ == "__main__": unittest.main()