Exemplo n.º 1
0
    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'
Exemplo n.º 2
0
    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'
Exemplo n.º 3
0
    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')
Exemplo n.º 4
0
    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')
Exemplo n.º 5
0
    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}
Exemplo n.º 6
0
    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}
Exemplo n.º 7
0
    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']
Exemplo n.º 8
0
    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']