def test_release_notes(self, mock_equiv_rel_url, get_release_or_404, mock_release_notes_template): """ Should use release returned from get_release_or_404 with the correct params and pass the correct context variables and template to l10n_utils.render. """ mock_release = get_release_or_404.return_value mock_release.major_version.return_value = '34' mock_release.notes.return_value = ([Release(id=1), Release(id=2)], [Release(id=3), Release(id=4)]) views.release_notes(self.request, '27.0') get_release_or_404.assert_called_with('27.0', 'Firefox') mock_release.notes.assert_called_with(public_only=True) eq_(self.last_ctx['version'], '27.0') eq_(self.last_ctx['release'], mock_release) eq_(self.last_ctx['new_features'], [Release(id=1), Release(id=2)]) eq_(self.last_ctx['known_issues'], [Release(id=3), Release(id=4)]) eq_(self.mock_render.call_args[0][1], mock_release_notes_template.return_value) mock_equiv_rel_url.assert_called_with(mock_release) mock_release_notes_template.assert_called_with(mock_release.channel, 'Firefox', 34)
def test_firefox_os_manual_template(self, get_release_or_404): """ Should render from pre-RNA template without querying DB """ views.release_notes(self.request, '1.0.1', product='Firefox OS') get_release_or_404.assert_never_called() eq_(self.mock_render.call_args[0][1], 'firefox/os/notes-1.0.1.html')
def test_release_notes_beta_redirect(self, get_release_or_404): """ Should redirect to url for beta release """ release = Mock() release.get_absolute_url.return_value = '/firefox/27.0beta/releasenotes/' get_release_or_404.side_effect = [Http404, release] response = views.release_notes(self.request, '27.0') assert response.status_code == 302 assert response['location'] == '/firefox/27.0beta/releasenotes/' get_release_or_404.assert_called_with('27.0beta', 'Firefox', True)
def test_release_notes(self, mock_equiv_rel_url, get_release_or_404, mock_release_notes_template): """ Should use release returned from get_release_or_404 with the correct params and pass the correct context variables and template to l10n_utils.render. """ mock_release = get_release_or_404.return_value mock_release.major_version = '34' mock_release.notes.return_value = [] views.release_notes(self.request, '27.0') get_release_or_404.assert_called_with('27.0', 'Firefox', True) assert self.last_ctx['version'] == '27.0' assert self.last_ctx['release'] == mock_release assert (self.mock_render.call_args[0][1] == mock_release_notes_template.return_value) mock_equiv_rel_url.assert_called_with(mock_release) mock_release_notes_template.assert_called_with(mock_release.channel, 'Firefox', 34)
def test_release_notes_beta_redirect(self, get_release_or_404): """ Should redirect to url for beta release """ release = Mock() release.get_absolute_url.return_value = "/firefox/27.0beta/releasenotes/" get_release_or_404.side_effect = [Http404, release] response = views.release_notes(self.request, "27.0") assert response.status_code == 302 assert response["location"] == "/firefox/27.0beta/releasenotes/" get_release_or_404.assert_called_with("27.0beta", "Firefox", True)
def test_release_notes(self, mock_equiv_rel_url, get_release_or_404, mock_release_notes_template): """ Should use release returned from get_release_or_404 with the correct params and pass the correct context variables and template to l10n_utils.render. """ mock_release = get_release_or_404.return_value mock_release.major_version = "34" mock_release.notes.return_value = [] views.release_notes(self.request, "27.0") get_release_or_404.assert_called_with("27.0", "Firefox", True) assert self.last_ctx["version"] == "27.0" assert self.last_ctx["release"] == mock_release assert self.mock_render.call_args[0][ 1] == mock_release_notes_template.return_value mock_equiv_rel_url.assert_called_with(mock_release) mock_release_notes_template.assert_called_with(mock_release.channel, "Firefox", 34)
def test_release_notes_thunderbird_beta_redirect(self, get_release_or_404): """ Should redirect to url for Thunderbird Beta release """ release = Mock() release.get_absolute_url.return_value = '/thunderbird/51.0beta/releasenotes/' get_release_or_404.side_effect = [Http404, release] response = views.release_notes(self.request, '51.0', 'Thunderbird') eq_(response.status_code, 302) eq_(response['location'], '/thunderbird/51.0beta/releasenotes/') get_release_or_404.assert_called_with('51.0beta', 'Thunderbird')
def test_release_notes_beta_redirect(self, get_release_or_404): """ Should redirect to url for beta release """ release = Mock() release.get_absolute_url.return_value = '/firefox/27.0beta/releasenotes/' get_release_or_404.side_effect = [Http404, release] response = views.release_notes(self.request, '27.0') eq_(response.status_code, 302) eq_(response['location'], '/firefox/27.0beta/releasenotes/') get_release_or_404.assert_called_with('27.0beta', 'Firefox', True)
def test_release_notes(self, mock_equiv_rel_url, get_release_or_404, mock_release_notes_template): """ Should use release returned from get_release_or_404 with the correct params and pass the correct context variables and template to l10n_utils.render. """ mock_release = get_release_or_404.return_value mock_release.major_version = '34' mock_release.notes.return_value = [] views.release_notes(self.request, '27.0') get_release_or_404.assert_called_with('27.0', 'Firefox', True) eq_(self.last_ctx['version'], '27.0') eq_(self.last_ctx['release'], mock_release) eq_(self.mock_render.call_args[0][1], mock_release_notes_template.return_value) mock_equiv_rel_url.assert_called_with(mock_release) mock_release_notes_template.assert_called_with( mock_release.channel, 'Firefox', 34)
def test_release_notes_beta_redirect(self, releasenotes_url, get_release_or_404): """ Should redirect to url for beta release """ get_release_or_404.side_effect = [Http404, "mock release"] releasenotes_url.return_value = "/firefox/27.0beta/releasenotes/" response = views.release_notes(self.request, "27.0") eq_(response.status_code, 302) eq_(response["location"], "/firefox/27.0beta/releasenotes/") get_release_or_404.assert_called_with("27.0beta", "Firefox") releasenotes_url.assert_called_with("mock release")
def test_release_notes(self, mock_equiv_rel_url, get_release_or_404, mock_release_notes_template): """ Should use release returned from get_release_or_404 with the correct params and pass the correct context variables and template to l10n_utils.render. """ mock_release = get_release_or_404.return_value mock_release.major_version.return_value = "34" mock_release.notes.return_value = ([Release(id=1), Release(id=2)], [Release(id=3), Release(id=4)]) views.release_notes(self.request, "27.0") get_release_or_404.assert_called_with("27.0", "Firefox") mock_release.notes.assert_called_with(public_only=True) eq_(self.last_ctx["version"], "27.0") eq_(self.last_ctx["release"], mock_release) eq_(self.last_ctx["new_features"], [Release(id=1), Release(id=2)]) eq_(self.last_ctx["known_issues"], [Release(id=3), Release(id=4)]) eq_(self.mock_render.call_args[0][1], mock_release_notes_template.return_value) mock_equiv_rel_url.assert_called_with(mock_release) mock_release_notes_template.assert_called_with(mock_release.channel, "Firefox", 34)
def test_release_notes_beta_redirect(self, releasenotes_url, get_release_or_404): """ Should redirect to url for beta release """ get_release_or_404.side_effect = [Http404, 'mock release'] releasenotes_url.return_value = '/firefox/27.0beta/releasenotes/' response = views.release_notes(self.request, '27.0') eq_(response.status_code, 302) eq_(response['location'], '/firefox/27.0beta/releasenotes/') get_release_or_404.assert_called_with('27.0beta', 'Firefox') releasenotes_url.assert_called_with('mock release')