You could potentially add two sub-scopes to your suite “should write a local file” - “PUT returns success code”, and “local file exists with contents”.
That way, you can separate out what are really two different things to verify - that The XHRRequest succeeds, and that the file itself is properly being written - while still keeping a cohesive test suite. It will also allow you to add setup and tear down logic that can prevent missing files from hanging things
Ed: forgot to add, this is some good work!