Example #1
0
 def test_given_data_repo_when_save_study_is_called_then_is_study_inside_database_is_called(
     self, ):
     # given
     repo_mock = DataRepoTinydb("")
     type(repo_mock).db = mock.PropertyMock()
     repo_mock.is_study_inside_database = mock.Mock()
     study_dto = StudyDTO(path="path")
     # when
     repo_mock.save_study(study_dto)
     # then
     repo_mock.is_study_inside_database.assert_called_with(study=study_dto)
Example #2
0
 def test_given_data_repo_if_study_is_not_inside_database_then_db_insert_is_called(
     self, ):
     # given
     repo = DataRepoTinydb("")
     repo.is_study_inside_database = mock.Mock(return_value=False)
     type(repo).db = mock.PropertyMock()
     study_dto = StudyDTO(path="path")
     # when
     repo.save_study(study_dto)
     # then
     repo.db.insert.assert_called_once()
Example #3
0
    def test_is_study_inside_database_returns_true_only_if_one_study_is_found(
            self):
        # given
        repo = DataRepoTinydb("")
        type(repo).db = mock.PropertyMock()
        dummy_study = StudyDTO(path="path")
        repo.db.search = mock.Mock(return_value=["first_element"])
        # when
        output = repo.is_study_inside_database(study=dummy_study)
        # then
        assert output is True

        repo.db.search = mock.Mock(
            return_value=["first_element", "second_element"])
        # when
        output = repo.is_study_inside_database(study=dummy_study)
        # then
        assert output is False

        repo.db.search = mock.Mock(return_value=[])
        # when
        output = repo.is_study_inside_database(study=dummy_study)
        # then
        assert output is False