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"}
    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]"}
    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'"}
    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}
Exemple #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}
    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}
    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}
Exemple #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] + "%"}
Exemple #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}
Exemple #10
0
    def test_with_invalid_page(self):
        request = pretend.stub(params={"page": "not an integer"})

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

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