示例#1
0
    def test_query_invitations(self):
        """."""
        from invenio_groups.models import Group, Membership, \
            MembershipState
        from invenio_accounts.models import User
        from flask.ext.sqlalchemy import BaseQuery

        g = Group.create(name="test")
        u1 = User(email="*****@*****.**", password="******")
        u2 = User(email="[email protected]", password="******")
        u3 = User(email="[email protected]", password="******")
        db.session.add_all([u1, u2, u3])
        db.session.commit()
        Membership.create(g, u1, MembershipState.ACTIVE)
        Membership.create(g, u2, MembershipState.PENDING_USER)
        Membership.create(g, u3, MembershipState.PENDING_ADMIN)

        self.assertIsInstance(Membership.query_by_user(u1), BaseQuery)
        self.assertEqual(Membership.query_invitations(u1).count(), 0)
        self.assertEqual(Membership.query_invitations(u2).count(), 1)
        self.assertEqual(Membership.query_invitations(u3).count(), 0)