Skip to content

Commit edbeb2d

Browse files
committed
daded loader test
1 parent 7bcbc82 commit edbeb2d

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

tests/test_loader.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,36 @@
1+
from sqlalchemy import Column, ForeignKey, Integer, String
2+
from sqlalchemy.ext.declarative import declarative_base
3+
from sqlalchemy.orm import relationship
4+
15
from strawberry_sqlalchemy_mapper import StrawberrySQLAlchemyLoader
26

7+
38
def test_loader_init():
49
loader = StrawberrySQLAlchemyLoader(bind=None)
510
assert loader.bind is None
611
assert loader._loaders == {}
712

13+
814
def test_loader_for():
9-
pass
15+
Base = declarative_base()
16+
17+
class Employee(Base):
18+
__tablename__ = "employee"
19+
id = Column(Integer, autoincrement=True, primary_key=True)
20+
name = Column(String, nullable=False)
21+
department_id = Column(Integer, ForeignKey("department.id"))
22+
department = relationship("Department", back_populates="employees")
23+
24+
class Department(Base):
25+
__tablename__ = "department"
26+
id = Column(Integer, autoincrement=True, primary_key=True)
27+
name = Column(String, nullable=False)
28+
employees = relationship("Employee", back_populates="department")
29+
30+
base_loader = StrawberrySQLAlchemyLoader(bind=None)
31+
loader = base_loader.loader_for(Employee.department.property)
32+
assert loader.max_batch_size is None
33+
assert loader.cache is True
34+
assert loader.cache_map == {}
35+
assert loader._loop is None
36+
assert loader.load_fn is not None

0 commit comments

Comments
 (0)