def test_by_one(): assert compute_up(by(t.name, total=t.amount.sum()), q).query == \ ({'$group': {'_id': {'name': '$name'}, 'total': {'$sum': '$amount'}}}, {'$project': {'total': '$total', 'name': '$_id.name'}})
def test_projection_one(): assert compute_up(t[['name']], q).query == ({'$project': {'name': 1}}, )
def test_head_one(): assert compute_up(t.head(5), q).query == ({'$limit': 5}, )
def test_by_one(): assert compute_up(by(t.name, t.amount.sum()), q).query == \ ({'$group': {'_id': {'name': '$name'}, 'amount_sum': {'$sum': '$amount'}}}, {'$project': {'amount_sum': '$amount_sum', 'name': '$_id.name'}})
def test_head_one(): assert compute_up(t.head(5), q).query == ({'$limit': 5},)
def test_projection_one(): assert compute_up(t[['name']], q).query == ({'$project': {'name': 1}},)
def test_tablesymbol_one(t, bank): assert compute_up(t, bank) == MongoQuery(bank, ())
def test_symbol_one(bank): assert compute_up(t, bank) == MongoQuery(bank, ())