def test_membership_query_by_user(app): """.""" with app.app_context(): 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") u = User(email="*****@*****.**", password="******") u2 = User(email="[email protected]", password="******") db.session.add(u) db.session.add(u2) db.session.commit() Membership.create(g, u, MembershipState.ACTIVE) assert isinstance(Membership.query_by_user(u), BaseQuery) assert Membership.query_by_user(u).count() == 1 assert Membership.query_by_user(u2).count() == 0
def test_membership_query_invitations(app): """.""" with app.app_context(): 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) assert isinstance(Membership.query_by_user(u1), BaseQuery) assert Membership.query_invitations(u1).count() == 0 assert Membership.query_invitations(u2).count() == 1 assert Membership.query_invitations(u3).count() == 0