Example #1
0
    def test_query_term_status(self, db_request):
        email0 = EmailMessageFactory.create(status=EmailStatuses.Bounced.value)
        EmailMessageFactory.create()

        db_request.GET["q"] = "status:bounced"
        result = views.email_list(db_request)

        assert result == {"emails": [email0], "query": "status:bounced"}
Example #2
0
    def test_query_term_from(self, db_request):
        email0 = EmailMessageFactory.create(from_="*****@*****.**")
        EmailMessageFactory.create()

        db_request.GET["q"] = "from:[email protected]"
        result = views.email_list(db_request)

        assert result == {"emails": [email0], "query": "from:[email protected]"}
Example #3
0
    def test_query_term_subject(self, db_request):
        email0 = EmailMessageFactory.create(subject="foo bar")
        EmailMessageFactory.create()

        db_request.GET["q"] = "subject:'foo bar'"
        result = views.email_list(db_request)

        assert result == {"emails": [email0], "query": "subject:'foo bar'"}
Example #4
0
    def test_no_query(self, db_request):
        emails = sorted(
            [EmailMessageFactory.create() for _ in range(30)],
            key=lambda e: e.created,
            reverse=True,
        )
        result = views.email_list(db_request)

        assert result == {"emails": emails[:25], "query": None}
Example #5
0
    def test_no_query(self, db_request):
        emails = sorted(
            [EmailMessageFactory.create() for _ in range(30)],
            key=lambda e: e.created,
            reverse=True,
        )
        result = views.email_list(db_request)

        assert result == {"emails": emails[:25], "query": None}
Example #6
0
    def test_basic_query(self, db_request):
        emails = sorted(
            [EmailMessageFactory.create() for _ in range(30)],
            key=lambda e: e.created,
            reverse=True,
        )
        db_request.GET["q"] = emails[0].to
        result = views.email_list(db_request)

        assert result == {"emails": [emails[0]], "query": emails[0].to}
Example #7
0
    def test_with_page(self, db_request):
        emails = sorted(
            [EmailMessageFactory.create() for _ in range(30)],
            key=lambda e: e.created,
            reverse=True,
        )
        db_request.GET["page"] = "2"
        result = views.email_list(db_request)

        assert result == {"emails": emails[25:], "query": None}
Example #8
0
    def test_wildcard_query(self, db_request):
        emails = sorted(
            [EmailMessageFactory.create() for _ in range(30)],
            key=lambda e: e.created,
            reverse=True,
        )
        db_request.GET["q"] = emails[0].to[:-1] + "%"
        result = views.email_list(db_request)

        assert result == {"emails": [emails[0]], "query": emails[0].to[:-1] + "%"}
Example #9
0
    def test_with_page(self, db_request):
        emails = sorted(
            [EmailMessageFactory.create() for _ in range(30)],
            key=lambda e: e.created,
            reverse=True,
        )
        db_request.GET["page"] = "2"
        result = views.email_list(db_request)

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

        with pytest.raises(HTTPBadRequest):
            views.email_list(request)
Example #11
0
    def test_with_invalid_page(self):
        request = pretend.stub(params={"page": "not an integer"})

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