mirror of
https://github.com/HeyPuter/puter.git
synced 2026-08-14 02:01:48 +00:00
* ci: init e2e test for browser env stash changes * test: update fsentry definition, add tests stash changes * test: pass puter-js mkdir test * test: add test for puter-js move * tidy code * tidy code * doc: add docs for playwright test * recover memoryfs * test: puter-js readdir/stat * test: puter-js write * test: puter-js read * test: puter-js move_cart * test: fix failed tests on move * tests: rename files * test: puter-js copy_cart * tests: puter-js batch/delete, read config from file * ci: add vitest * ci: update names and timeout * ci: simplify playwright-test * ci: simplify api-test * move "api-tester" from tools to tests * test: update example config * test: remove folder tests/api-tester/ci * test: unify config location * test: remove unused files * ci: fix wrong config * ci: fix wrong path * test: add docs * ci: update timeout, print artifact url
100 lines
3.0 KiB
JavaScript
100 lines
3.0 KiB
JavaScript
const { expect } = require("chai");
|
|
const { verify_fsentry } = require("./fsentry");
|
|
|
|
module.exports = {
|
|
name: 'batch',
|
|
do: async t => {
|
|
let results;
|
|
|
|
await t.case('path reference resolution', async () => {
|
|
results = null;
|
|
results = await t.batch('batch', [
|
|
{
|
|
op: 'mkdir',
|
|
as: 'dest_1',
|
|
path: t.resolve('q/w'),
|
|
create_missing_parents: true,
|
|
},
|
|
{
|
|
op: 'write',
|
|
path: t.resolve('$dest_1/file_1.txt'),
|
|
},
|
|
], [
|
|
'file 1 contents',
|
|
]);
|
|
expect(results.length).equal(2);
|
|
expect(results[0].name).equal('w');
|
|
expect(results[1].path).equal(t.resolve('q/w/file_1.txt'));
|
|
});
|
|
|
|
await t.case('batch mkdir and write', async () => {
|
|
results = null;
|
|
results = await t.batch('batch', [
|
|
{
|
|
op: 'mkdir',
|
|
path: t.resolve('test_x_1_dir'),
|
|
overwrite: true,
|
|
},
|
|
{
|
|
op: 'write',
|
|
path: t.resolve('test_x_1.txt'),
|
|
},
|
|
{
|
|
op: 'mkdir',
|
|
path: t.resolve('test_x_2_dir'),
|
|
},
|
|
{
|
|
op: 'write',
|
|
path: t.resolve('test_x_2.txt'),
|
|
}
|
|
], [
|
|
'first file',
|
|
'second file',
|
|
]);
|
|
console.log('res?', results)
|
|
expect(results.length).equal(4);
|
|
for ( const result of results ) {
|
|
// await verify_fsentry(t, result)
|
|
}
|
|
});
|
|
|
|
// Test for path reference resolution
|
|
await t.case('path reference resolution', async () => {
|
|
results = null;
|
|
results = await t.batch('batch', [
|
|
{
|
|
op: 'mkdir',
|
|
as: 'dest_1',
|
|
path: t.resolve('q/w'),
|
|
create_missing_parents: true,
|
|
},
|
|
{
|
|
op: 'write',
|
|
overwrite: true,
|
|
path: t.resolve('$dest_1/file_1.txt'),
|
|
},
|
|
], [
|
|
'file 1 contents',
|
|
]);
|
|
console.log('res?', results)
|
|
expect(results.length).equal(2);
|
|
expect(results[0].name).equal('w');
|
|
expect(results[1].path).equal(t.resolve('q/w/file_1.txt'));
|
|
});
|
|
|
|
// Test for a single write
|
|
await t.case('single write', async () => {
|
|
results = null;
|
|
results = await t.batch('batch', [
|
|
{
|
|
op: 'write',
|
|
path: t.resolve('just_one_file.txt'),
|
|
},
|
|
], [
|
|
'file 1 contents',
|
|
]);
|
|
console.log('res?', results)
|
|
});
|
|
}
|
|
};
|