def test_router_patch_collection(db_session): """Test that patching a resource collection via router works.""" router = ModelResourceRouter(session=db_session, context={}) tracks = [{"milliseconds": 4000000, "track_id": 1}] result = router.patch("/tracks", data=tracks) assert result is None
def test_router_patch(db_session): """Test that patching a resource via a router works.""" router = ModelResourceRouter(session=db_session, context={}) track = {"milliseconds": 4000000, "track_id": 1} result = router.patch("/tracks/1", data=track) assert result["milliseconds"] == 4000000
def test_router_patch_object(db_session): """Test patching a single child instance works.""" router = ModelResourceRouter(session=db_session, context={}) data = {"artist_id": 1} result = router.patch("albums/1/artist", data=data) assert result["artist_id"] == 1
def test_router_patch_object_fails(db_session): """Test patching a single child instance with bad data fails.""" router = ModelResourceRouter(session=db_session, context={}) data = {"artist_id": 1, "name": 5} with raises(UnprocessableEntityError): router.patch("albums/1/artist", data=data)
def test_router_patch_attr(db_session): """Test that patching a resource attr via a router works.""" router = ModelResourceRouter(session=db_session, context={}) result = router.patch("/tracks/14/bytes", data=1) assert result == 1