def test_user_params(db, user_kaylee): # confirm named arguments work even when reversed # test for named parameters, and alternating positions found_1 = User.find_by_pk(db, user_kaylee.id) found_2 = User.find_by_pk(db=db, pk=user_kaylee.id) assert found_2.name == found_1.name found_3 = User.find_by_pk(pk=user_kaylee.id, db=db) assert found_3.name == found_1.name # test for unbexpected param with pytest.raises(TypeError): found_1 = User.find_by_pk(primary_key=user_kaylee.id, db=db) with pytest.raises(TypeError): found_1 = User.find_by_name(username=user_kaylee.name, db=db) with pytest.raises(TypeError): found_1 = User.find_by_org(id=user_kaylee.org_id, db=db)
def test_user(db, user_kaylee): assert user_kaylee.name == "kaylee" assert user_kaylee.org_id == 1 with pytest.raises(TypeError): found_by_pk = User.find_by_pk() with pytest.raises(ValueError): found_by_pk = User.find_by_pk(db, None) with pytest.raises(TypeError): found_by_pk = User.find_by_pk(db, "abc") found_by_pk = User.find_by_pk(db, user_kaylee.id) assert found_by_pk.id == user_kaylee.id found_by_pk = User.find_by_pk(db, user_kaylee.id + 10) assert found_by_pk is None with pytest.raises(ValueError): found_by_name = User.find_by_name(db, None) found_by_name = User.find_by_name(db, "kaylee") assert found_by_name.name == user_kaylee.name assert str(found_by_name) == f"User/{found_by_name.name}" found_by_name = User.find_by_name(db, "badger") assert found_by_name is None