#453 make first and get respect user ordering if set on main model
This commit is contained in:
@ -352,14 +352,16 @@ async def test_model_get():
|
||||
lookup = await User.objects.get()
|
||||
assert lookup == user
|
||||
|
||||
user = await User.objects.create(name="Jane")
|
||||
user2 = await User.objects.create(name="Jane")
|
||||
await User.objects.create(name="Jane")
|
||||
with pytest.raises(ormar.MultipleMatches):
|
||||
await User.objects.get(name="Jane")
|
||||
|
||||
same_user = await User.objects.get(pk=user.id)
|
||||
assert same_user.id == user.id
|
||||
assert same_user.pk == user.pk
|
||||
same_user = await User.objects.get(pk=user2.id)
|
||||
assert same_user.id == user2.id
|
||||
assert same_user.pk == user2.pk
|
||||
|
||||
assert await User.objects.order_by("-name").get() == user
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@ -495,6 +497,8 @@ async def test_model_first():
|
||||
with pytest.raises(NoMatch):
|
||||
await User.objects.filter(name="Lucy").first()
|
||||
|
||||
assert await User.objects.order_by("name").first() == jane
|
||||
|
||||
|
||||
def not_contains(a, b):
|
||||
return a not in b
|
||||
|
||||
@ -45,16 +45,17 @@ def create_test_database():
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_dumping_and_loading_model_works():
|
||||
user = await User(name="Test", properties={"aa": "bb"}).save()
|
||||
post = Post(name="Test post")
|
||||
await user.posts.add(post)
|
||||
pickled_value = pickle.dumps(user)
|
||||
python_value = pickle.loads(pickled_value)
|
||||
assert isinstance(python_value, User)
|
||||
assert python_value.name == "Test"
|
||||
assert python_value.properties == {"aa": "bb"}
|
||||
assert python_value.posts[0].name == "Test post"
|
||||
await python_value.load()
|
||||
await python_value.update(name="Test2")
|
||||
check = await User.objects.get()
|
||||
assert check.name == "Test2"
|
||||
async with database:
|
||||
user = await User(name="Test", properties={"aa": "bb"}).save()
|
||||
post = Post(name="Test post")
|
||||
await user.posts.add(post)
|
||||
pickled_value = pickle.dumps(user)
|
||||
python_value = pickle.loads(pickled_value)
|
||||
assert isinstance(python_value, User)
|
||||
assert python_value.name == "Test"
|
||||
assert python_value.properties == {"aa": "bb"}
|
||||
assert python_value.posts[0].name == "Test post"
|
||||
await python_value.load()
|
||||
await python_value.update(name="Test2")
|
||||
check = await User.objects.get()
|
||||
assert check.name == "Test2"
|
||||
|
||||
Reference in New Issue
Block a user