def test_group_query_by_names(app):
    """Test query by names."""
    with app.app_context():
        from invenio_groups.models import Group
        from flask.ext.sqlalchemy import BaseQuery

        Group.create(name="test1")
        Group.create(name="test2")
        Group.create(name="test3")

        with pytest.raises(AssertionError):
            Group.query_by_names('test1')

        assert isinstance(Group.query_by_names(['test']), BaseQuery)
        assert Group.query_by_names(["invalid"]).count() == 0
        assert Group.query_by_names(["test1"]).count() == 1
        assert Group.query_by_names(["test2", "invalid"]).count() == 1
        assert Group.query_by_names(["test1", "test2"]).count() == 2
        assert Group.query_by_names([]).count() == 0