def test_get_content_units_collection_view(self, mock_factory, mock_resp, mock_serializers, mock_rev): """ View should return a response that contains a list of dicts, one for each content unit. """ def identity(arg): """ Allow a side effect to return an argument. """ return arg mock_cqm = mock.MagicMock() mock_cqm.find_by_criteria.return_value = [{'_id': 'unit_1'}, {'_id': 'unit_2'}] mock_factory.content_query_manager.return_value = mock_cqm mock_serializers.content_unit_obj.side_effect = identity mock_serializers.content_unit_child_link_objs.return_value = 'child' request = mock.MagicMock() content_units_collection_view = ContentUnitsCollectionView() response = content_units_collection_view.get(request, {'content_type': 'mock_type'}) expected_content = [{'_id': 'unit_1', '_href': mock_rev.return_value, 'children': 'child'}, {'_id': 'unit_2', '_href': mock_rev.return_value, 'children': 'child'}] mock_resp.assert_called_once_with(expected_content) self.assertTrue(response is mock_resp.return_value)