def test_pluck_with_model_found(self): builder = Builder(self.get_mock_query_builder()) model = {'name': 'foo'} builder.first = mock.MagicMock(return_value=model) self.assertEqual('foo', builder.pluck('name')) builder.first.assert_called_once_with(['name'])
def test_first_or_fail_raises_model_not_found_exception(self): model = self.get_mock_model() builder = Builder(self.get_mock_query_builder()) builder.set_model(model) builder.first = mock.MagicMock(return_value=None) self.assertRaises(ModelNotFound, builder.first_or_fail, ['column']) builder.first.assert_called_once_with(['column'])
def test_find_method(self): builder = Builder(self.get_mock_query_builder()) builder.set_model(self.get_mock_model()) builder.get_query().where = mock.MagicMock() builder.first = mock.MagicMock(return_value='baz') result = builder.find('bar', ['column']) builder.get_query().where.assert_called_once_with( 'foo_table.foo', '=', 'bar') self.assertEqual('baz', result)
def test_first(self): model = self.get_mock_model() builder = Builder(self.get_mock_query_builder()) builder.set_model(model) builder.take = mock.MagicMock(return_value=builder) builder.get = mock.MagicMock(return_value=Collection(['bar'])) result = builder.first() self.assertEqual('bar', result) builder.take.assert_called_once_with(1) builder.get.assert_called_once_with(['*'])
def test_find_or_new_model_found(self): model = self.get_mock_model() model.find_or_new = mock.MagicMock(return_value='baz') builder = Builder(self.get_mock_query_builder()) builder.set_model(model) builder.get_query().where = mock.MagicMock() builder.first = mock.MagicMock(return_value='baz') expected = model.find_or_new('bar', ['column']) result = builder.find('bar', ['column']) builder.get_query().where.assert_called_once_with( 'foo_table.foo', '=', 'bar') self.assertEqual(expected, result)
def test_find_or_new_model_not_found(self): model = self.get_mock_model() model.find_or_new = mock.MagicMock(return_value=self.get_mock_model()) builder = Builder(self.get_mock_query_builder()) builder.set_model(model) builder.get_query().where = mock.MagicMock() builder.first = mock.MagicMock(return_value=None) result = model.find_or_new('bar', ['column']) find_result = builder.find('bar', ['column']) builder.get_query().where.assert_called_once_with( 'foo_table.foo', '=', 'bar') self.assertIsNone(find_result) self.assertIsInstance(result, Model)
def test_pluck_with_model_not_found(self): builder = Builder(self.get_mock_query_builder()) builder.first = mock.MagicMock(return_value=None) self.assertIsNone(builder.pluck('name'))