def test_redirects_if_slug_incorrect(self, pyramid_request): group = FakeGroup('abc123', 'some-slug') pyramid_request.matchdict['slug'] = 'another-slug' with pytest.raises(HTTPMovedPermanently) as exc: views.read(group, pyramid_request) assert exc.value.location == '/g/abc123/some-slug'
def test_redirects_if_search_page_enabled(self, matchers, pyramid_request): group = FakeGroup('abc123', 'some-slug') pyramid_request.matchdict['slug'] = 'some-slug' pyramid_request.feature.flags['search_page'] = True assert views.read(group, pyramid_request) == matchers.redirect_303_to( '/g/abc123/search')
def test_redirects_if_search_page_enabled(self, matchers, pyramid_request): group = FakeGroup('abc123', 'some-slug') pyramid_request.matchdict['slug'] = 'some-slug' pyramid_request.feature.flags['search_page'] = True assert views.read( group, pyramid_request) == matchers.redirect_303_to('/g/abc123/search')
def test_renders_join_template_if_not_member(self, pyramid_config, pyramid_request): group = FakeGroup('abc123', 'some-slug') pyramid_config.testing_securitypolicy('bohus', permissive=False) pyramid_request.matchdict['slug'] = 'some-slug' result = views.read(group, pyramid_request) assert 'join.html' in pyramid_request.override_renderer assert result == {'group': group}
def test_returns_template_context(self, patch, pyramid_request): group = FakeGroup('abc123', 'some-slug') group.documents = lambda: ['d1', 'd2'] link = patch('h.presenters.DocumentHTMLPresenter.link', autospec=None, new_callable=mock.PropertyMock) link.side_effect = ['link1', 'link2'] pyramid_request.matchdict['slug'] = 'some-slug' result = views.read(group, pyramid_request) assert result['group'] == group assert result['document_links'] == ['link1', 'link2']