def test_add_existing_report_to_db():
"""
This should not add a new report to the database session as the one already exists.
"""
with mock.patch('annotran.languages.models.Language') as language:
language.get_by_public_language_id = MagicMock(return_value=language)
with mock.patch('annotran.pages.models.Page') as page:
page.get_by_uri = MagicMock(return_value=page)
with mock.patch('h.groups.models.Group') as group:
group.get_by_pubid = MagicMock(return_value=group)
with mock.patch('h.models.User') as user:
user.get_by_username = MagicMock(return_value=user)
with mock.patch('annotran.translations.models.Translation') as translation:
translation.get_translation = MagicMock(return_value=translation)
with mock.patch('annotran.reports.models.Report') as report:
report.get_report = MagicMock(return_value=report)
request = _mock_request(authenticated_user=mock.Mock(username="test"),
matchdict={'public_language_id': '12345',
'public_group_id': '12345',
'user_id': '12345',
'page_uri': 'http://www.annotran_test.com/'})
result = views.add_report(request)
assert not request.db.add.called
assert isinstance(result, exc.HTTPBadRequest)
评论列表
文章目录