Beispiel #1
0
    def test_no_query(self, db_request):
        users = sorted(
            [UserFactory.create() for _ in range(30)], key=lambda u: u.username.lower()
        )
        result = views.user_list(db_request)

        assert result == {"users": users[:25], "query": None}
Beispiel #2
0
    def test_ignores_invalid_query(self, db_request):
        users = sorted(
            [UserFactory.create() for _ in range(5)], key=lambda u: u.username.lower()
        )
        db_request.GET["q"] = "foobar:what"
        result = views.user_list(db_request)

        assert result == {"users": users, "query": "foobar:what"}
Beispiel #3
0
    def test_wildcard_query(self, db_request):
        users = sorted(
            [UserFactory.create() for _ in range(5)], key=lambda u: u.username.lower()
        )
        db_request.GET["q"] = users[0].username[:-1] + "%"
        result = views.user_list(db_request)

        assert result == {"users": [users[0]], "query": users[0].username[:-1] + "%"}
Beispiel #4
0
    def test_with_page(self, db_request):
        users = sorted(
            [UserFactory.create() for _ in range(30)], key=lambda u: u.username.lower()
        )
        db_request.GET["page"] = "2"
        result = views.user_list(db_request)

        assert result == {"users": users[25:], "query": None}
Beispiel #5
0
    def test_email_query(self, db_request):
        users = sorted(
            [UserFactory.create() for _ in range(5)], key=lambda u: u.username.lower()
        )
        emails = [EmailFactory.create(user=u, primary=True) for u in users]
        db_request.GET["q"] = "email:" + emails[0].email
        result = views.user_list(db_request)

        assert result == {"users": [users[0]], "query": "email:" + emails[0].email}
Beispiel #6
0
    def test_or_query(self, db_request):
        users = sorted([UserFactory.create() for _ in range(5)],
                       key=lambda u: u.username.lower())
        emails = [EmailFactory.create(user=u, primary=True) for u in users]
        db_request.GET["q"] = " ".join([
            users[0].username,
            users[1].username[:-1] + "%",
            "email:" + emails[2].email,
            "email:" + emails[3].email[:-5] + "%",
        ])
        result = views.user_list(db_request)

        assert result == {"users": users[:4], "query": db_request.GET["q"]}
Beispiel #7
0
    def test_email_query(self, db_request):
        users = sorted(
            [UserFactory.create() for _ in range(5)],
            key=lambda u: u.username.lower(),
        )
        emails = [EmailFactory.create(user=u, primary=True) for u in users]
        db_request.GET["q"] = "email:" + emails[0].email
        result = views.user_list(db_request)

        assert result == {
            "users": [users[0]],
            "query": "email:" + emails[0].email,
        }
Beispiel #8
0
    def test_or_query(self, db_request):
        users = sorted(
            [UserFactory.create() for _ in range(5)], key=lambda u: u.username.lower()
        )
        emails = [EmailFactory.create(user=u, primary=True) for u in users]
        db_request.GET["q"] = " ".join(
            [
                users[0].username,
                users[1].username[:-1] + "%",
                "email:" + emails[2].email,
                "email:" + emails[3].email[:-5] + "%",
            ]
        )
        result = views.user_list(db_request)

        assert result == {"users": users[:4], "query": db_request.GET["q"]}
Beispiel #9
0
    def test_with_invalid_page(self):
        request = pretend.stub(params={"page": "not an integer"})

        with pytest.raises(HTTPBadRequest):
            views.user_list(request)
Beispiel #10
0
    def test_no_query(self, db_request):
        users = sorted([UserFactory.create() for _ in range(30)],
                       key=lambda u: u.username.lower())
        result = views.user_list(db_request)

        assert result == {"users": users[:25], "query": None}
Beispiel #11
0
    def test_with_invalid_page(self):
        request = pretend.stub(params={"page": "not an integer"})

        with pytest.raises(HTTPBadRequest):
            views.user_list(request)