From 6dc866c294d4c81c713ba26d1b38f5baea512000 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Fri, 1 Mar 2024 16:58:42 +0100 Subject: [PATCH 1/6] re-roganize --- .github/workflows/tests-ts.yml | 3 +- .gitignore | 25 ++-- .../compiled/sandbox-ts_$$_main_ava_ts.js | 114 ++++++++++++++++++ contract-ts/.tsimp/daemon/log | 0 contract-ts/.tsimp/daemon/mtime | 1 + contract-ts/.tsimp/daemon/pid | 1 + contract-ts/ava.config.cjs | 15 +++ contract-ts/package.json | 14 ++- contract-ts/sandbox-ts/ava.config.cjs | 9 -- contract-ts/sandbox-ts/{src => }/main.ava.ts | 26 ++-- contract-ts/sandbox-ts/package.json | 17 --- contract-ts/tsconfig.json | 9 +- 12 files changed, 171 insertions(+), 63 deletions(-) create mode 100644 contract-ts/.tsimp/compiled/sandbox-ts_$$_main_ava_ts.js create mode 100644 contract-ts/.tsimp/daemon/log create mode 100644 contract-ts/.tsimp/daemon/mtime create mode 100644 contract-ts/.tsimp/daemon/pid create mode 100644 contract-ts/ava.config.cjs delete mode 100644 contract-ts/sandbox-ts/ava.config.cjs rename contract-ts/sandbox-ts/{src => }/main.ava.ts (65%) delete mode 100644 contract-ts/sandbox-ts/package.json diff --git a/.github/workflows/tests-ts.yml b/.github/workflows/tests-ts.yml index 7478a0f..cabefe9 100644 --- a/.github/workflows/tests-ts.yml +++ b/.github/workflows/tests-ts.yml @@ -5,12 +5,13 @@ jobs: strategy: matrix: platform: [ubuntu-latest, macos-latest] + node-version: [18, 20] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: "16" + node-version: ${{ matrix.node-version }} - name: Install and test modules run: | cd ./contract-ts diff --git a/.gitignore b/.gitignore index 2ae9a45..388f10d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,13 @@ # Rust -./contract-rs/target/ -./contract-rs/Cargo.lock - -# TypeScript - Sandbox -./contract-ts/sandbox-ts/package-lock.json -./contract-ts/sandbox-ts/node_modules/ +**/target +**/Cargo.lock # TypeScript -./contract-ts/build/ -./contract-ts/node_modules/ -./contract-ts/sandbox-ts/node_modules/ -./contract-ts/sandbox-ts/yarn.lock -./contract-ts/yarn.lock -./contract-ts/package-lock.json +**/package-lock.json +**/node_modules/ +**/build/ +**/yarn.lock # Frontend -./frontend/dist/ -./frontend/node_modules/ -./frontend/.parcel-cache -./frontend/yarn.lock -./frontend/package-lock.json \ No newline at end of file +**/dist/ +**/.parcel-cache \ No newline at end of file diff --git a/contract-ts/.tsimp/compiled/sandbox-ts_$$_main_ava_ts.js b/contract-ts/.tsimp/compiled/sandbox-ts_$$_main_ava_ts.js new file mode 100644 index 0000000..3deb3aa --- /dev/null +++ b/contract-ts/.tsimp/compiled/sandbox-ts_$$_main_ava_ts.js @@ -0,0 +1,114 @@ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +import { Worker } from 'near-workspaces'; +import anyTest from 'ava'; +import { setDefaultResultOrder } from 'dns'; +setDefaultResultOrder('ipv4first'); // temp fix for node >v17 +var worker; +var accounts; +var test = anyTest; +test.before(function (t) { return __awaiter(void 0, void 0, void 0, function () { + var root, contract; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, Worker.init()]; + case 1: + // Init the worker and start a Sandbox server + worker = _a.sent(); + t.assert(false); + root = worker.rootAccount; + return [4 /*yield*/, root.createSubAccount('test-account')]; + case 2: + contract = _a.sent(); + // Get wasm file path from package.json test script in folder above + return [4 /*yield*/, contract.deploy(process.argv[2])]; + case 3: + // Get wasm file path from package.json test script in folder above + _a.sent(); + // Save state for test runs, it is unique for each test + accounts = { root: root, contract: contract }; + return [2 /*return*/]; + } + }); +}); }); +test.after.always(function (t) { return __awaiter(void 0, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + // Stop Sandbox server + return [4 /*yield*/, worker.tearDown().catch(function (error) { + console.log('Failed to stop the Sandbox:', error); + })]; + case 1: + // Stop Sandbox server + _a.sent(); + return [2 /*return*/]; + } + }); +}); }); +test('returns the default greeting', function (t) { return __awaiter(void 0, void 0, void 0, function () { + var contract, greeting; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + contract = accounts.contract; + return [4 /*yield*/, contract.view('get_greeting', {})]; + case 1: + greeting = _a.sent(); + t.is(greeting, 'Hello'); + return [2 /*return*/]; + } + }); +}); }); +test('changes the greeting', function (t) { return __awaiter(void 0, void 0, void 0, function () { + var root, contract, greeting; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + root = accounts.root, contract = accounts.contract; + return [4 /*yield*/, root.call(contract, 'set_greeting', { greeting: 'Howdy' })]; + case 1: + _a.sent(); + return [4 /*yield*/, contract.view('get_greeting', {})]; + case 2: + greeting = _a.sent(); + t.is(greeting, 'Howdy'); + return [2 /*return*/]; + } + }); +}); }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5hdmEuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2dhZ2RpZXovdG1wL2RvY3MtZXhhbXBsZXMvaGVsbG8tbmVhci1leGFtcGxlcy9jb250cmFjdC10cy8iLCJzb3VyY2VzIjpbInNhbmRib3gtdHMvbWFpbi5hdmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sT0FBbUIsTUFBTSxLQUFLLENBQUM7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7QUFFMUcsSUFBSSxNQUFjLENBQUM7QUFDbkIsSUFBSSxRQUFxQyxDQUFDO0FBRTFDLElBQU0sSUFBSSxHQUFHLE9BQXFCLENBQUM7QUFFbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFPLENBQUM7Ozs7b0JBRVQscUJBQU0sTUFBTSxDQUFDLElBQUksRUFBRSxFQUFBOztnQkFENUIsNkNBQTZDO2dCQUM3QyxNQUFNLEdBQUcsU0FBbUIsQ0FBQztnQkFFN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFVixJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztnQkFDZixxQkFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUE7O2dCQUF0RCxRQUFRLEdBQUcsU0FBMkM7Z0JBQzVELG1FQUFtRTtnQkFDbkUscUJBQU0sUUFBUSxDQUFDLE1BQU0sQ0FDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDaEIsRUFBQTs7Z0JBSEQsbUVBQW1FO2dCQUNuRSxTQUVDLENBQUM7Z0JBRUYsdURBQXVEO2dCQUN2RCxRQUFRLEdBQUcsRUFBRSxJQUFJLE1BQUEsRUFBRSxRQUFRLFVBQUEsRUFBRSxDQUFDOzs7O0tBQy9CLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQU8sQ0FBQzs7OztZQUN4QixzQkFBc0I7WUFDdEIscUJBQU0sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFDLEtBQUs7b0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3BELENBQUMsQ0FBQyxFQUFBOztnQkFIRixzQkFBc0I7Z0JBQ3RCLFNBRUUsQ0FBQzs7OztLQUNKLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyw4QkFBOEIsRUFBRSxVQUFPLENBQUM7Ozs7O2dCQUNuQyxRQUFRLEdBQUssUUFBUSxTQUFiLENBQWM7Z0JBQ0wscUJBQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLEVBQUE7O2dCQUExRCxRQUFRLEdBQVcsU0FBdUM7Z0JBQ2hFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzs7O0tBQ3pCLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxzQkFBc0IsRUFBRSxVQUFPLENBQUM7Ozs7O2dCQUMzQixJQUFJLEdBQWUsUUFBUSxLQUF2QixFQUFFLFFBQVEsR0FBSyxRQUFRLFNBQWIsQ0FBYztnQkFDcEMscUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUE7O2dCQUFoRSxTQUFnRSxDQUFDO2dCQUN4QyxxQkFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsRUFBQTs7Z0JBQTFELFFBQVEsR0FBVyxTQUF1QztnQkFDaEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7Ozs7S0FDekIsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/contract-ts/.tsimp/daemon/log b/contract-ts/.tsimp/daemon/log new file mode 100644 index 0000000..e69de29 diff --git a/contract-ts/.tsimp/daemon/mtime b/contract-ts/.tsimp/daemon/mtime new file mode 100644 index 0000000..d0b7dfc --- /dev/null +++ b/contract-ts/.tsimp/daemon/mtime @@ -0,0 +1 @@ +1709289814902 diff --git a/contract-ts/.tsimp/daemon/pid b/contract-ts/.tsimp/daemon/pid new file mode 100644 index 0000000..1d22a33 --- /dev/null +++ b/contract-ts/.tsimp/daemon/pid @@ -0,0 +1 @@ +76315 diff --git a/contract-ts/ava.config.cjs b/contract-ts/ava.config.cjs new file mode 100644 index 0000000..b170147 --- /dev/null +++ b/contract-ts/ava.config.cjs @@ -0,0 +1,15 @@ +require('util').inspect.defaultOptions.depth = 5; // Increase AVA's printing depth + +module.exports = { + timeout: '10000', + files: ['sandbox-ts/*.ava.ts'], + failWithoutAssertions: false, + extensions: { + js: true, + ts: 'module' + }, + require: ['ts-node/register', 'near-workspaces'], + "nodeArguments": [ + "--import=tsimp" + ] +}; \ No newline at end of file diff --git a/contract-ts/package.json b/contract-ts/package.json index c0b0354..1e0afe9 100644 --- a/contract-ts/package.json +++ b/contract-ts/package.json @@ -5,15 +5,19 @@ "type": "module", "scripts": { "build": "near-sdk-js build src/contract.ts build/hello_near.wasm", - "test": "$npm_execpath run build && cd sandbox-ts && $npm_execpath run test -- -- ../build/hello_near.wasm", - "postinstall": "cd sandbox-ts && $npm_execpath install" + "test": "ava -- ./build/hello_near.wasm" }, "dependencies": { - "near-cli": "^4.0.7", + "near-cli": "^4.0.8", "near-sdk-js": "1.0.0" }, "devDependencies": { - "typescript": "^5.2.2", - "ts-morph": "^20.0.0" + "@ava/typescript": "^4.1.0", + "ava": "^6.1.2", + "near-workspaces": "^3.5.0", + "ts-morph": "^21.0.1", + "ts-node": "^10.9.2", + "tsimp": "^2.0.11", + "typescript": "^5.3.3" } } diff --git a/contract-ts/sandbox-ts/ava.config.cjs b/contract-ts/sandbox-ts/ava.config.cjs deleted file mode 100644 index 498a811..0000000 --- a/contract-ts/sandbox-ts/ava.config.cjs +++ /dev/null @@ -1,9 +0,0 @@ -require('util').inspect.defaultOptions.depth = 5; // Increase AVA's printing depth - -module.exports = { - timeout: '300000', - files: ['src/*.ava.ts'], - failWithoutAssertions: false, - extensions: ['ts'], - require: ['ts-node/register'], -}; diff --git a/contract-ts/sandbox-ts/src/main.ava.ts b/contract-ts/sandbox-ts/main.ava.ts similarity index 65% rename from contract-ts/sandbox-ts/src/main.ava.ts rename to contract-ts/sandbox-ts/main.ava.ts index 9075bf5..176be1a 100644 --- a/contract-ts/sandbox-ts/src/main.ava.ts +++ b/contract-ts/sandbox-ts/main.ava.ts @@ -1,15 +1,18 @@ import { Worker, NearAccount } from 'near-workspaces'; import anyTest, { TestFn } from 'ava'; +import { setDefaultResultOrder } from 'dns'; setDefaultResultOrder('ipv4first'); // temp fix for node >v17 -const test = anyTest as TestFn<{ - worker: Worker; - accounts: Record; -}>; +// Global context +let worker: Worker; +let accounts: Record; -test.beforeEach(async (t) => { +const test = anyTest as TestFn<{}>; + +test.before(async (t) => { // Init the worker and start a Sandbox server - const worker = await Worker.init(); + worker = await Worker.init(); + t.assert(false); // Deploy contract const root = worker.rootAccount; const contract = await root.createSubAccount('test-account'); @@ -19,25 +22,24 @@ test.beforeEach(async (t) => { ); // Save state for test runs, it is unique for each test - t.context.worker = worker; - t.context.accounts = { root, contract }; + accounts = { root, contract }; }); -test.afterEach.always(async (t) => { +test.after.always(async (t) => { // Stop Sandbox server - await t.context.worker.tearDown().catch((error) => { + await worker.tearDown().catch((error) => { console.log('Failed to stop the Sandbox:', error); }); }); test('returns the default greeting', async (t) => { - const { contract } = t.context.accounts; + const { contract } = accounts; const greeting: string = await contract.view('get_greeting', {}); t.is(greeting, 'Hello'); }); test('changes the greeting', async (t) => { - const { root, contract } = t.context.accounts; + const { root, contract } = accounts; await root.call(contract, 'set_greeting', { greeting: 'Howdy' }); const greeting: string = await contract.view('get_greeting', {}); t.is(greeting, 'Howdy'); diff --git a/contract-ts/sandbox-ts/package.json b/contract-ts/sandbox-ts/package.json deleted file mode 100644 index ed91008..0000000 --- a/contract-ts/sandbox-ts/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "ava-testing", - "version": "1.0.0", - "license": "(MIT AND Apache-2.0)", - "scripts": { - "test": "ava" - }, - "devDependencies": { - "@types/bn.js": "^5.1.4", - "@types/node": "^20.8.10", - "ava": "^5.3.1", - "near-workspaces": "^3.5.0", - "ts-node": "^10.9.1", - "typescript": "^5.2.2" - }, - "dependencies": {} -} diff --git a/contract-ts/tsconfig.json b/contract-ts/tsconfig.json index 7fd35e5..d2562eb 100644 --- a/contract-ts/tsconfig.json +++ b/contract-ts/tsconfig.json @@ -1,9 +1,14 @@ { "compilerOptions": { "experimentalDecorators": true, - "target": "es5", - "noEmit": true + "target": "ES5", + "noEmit": true, + "noImplicitAny": false, }, + "files": [ + "sandbox-ts/main.ava.ts", + "src/contract.ts" + ], "exclude": [ "node_modules" ], From 4818cd19b6d5bd8cb5475bc330bce00c0b68a2eb Mon Sep 17 00:00:00 2001 From: gagdiez Date: Fri, 1 Mar 2024 17:00:18 +0100 Subject: [PATCH 2/6] removed unnecesary files --- .gitignore | 1 + .../compiled/sandbox-ts_$$_main_ava_ts.js | 114 ------------------ contract-ts/.tsimp/daemon/log | 0 contract-ts/.tsimp/daemon/mtime | 1 - contract-ts/.tsimp/daemon/pid | 1 - 5 files changed, 1 insertion(+), 116 deletions(-) delete mode 100644 contract-ts/.tsimp/compiled/sandbox-ts_$$_main_ava_ts.js delete mode 100644 contract-ts/.tsimp/daemon/log delete mode 100644 contract-ts/.tsimp/daemon/mtime delete mode 100644 contract-ts/.tsimp/daemon/pid diff --git a/.gitignore b/.gitignore index 388f10d..49ebd6d 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ **/node_modules/ **/build/ **/yarn.lock +**/.tsimp # Frontend **/dist/ diff --git a/contract-ts/.tsimp/compiled/sandbox-ts_$$_main_ava_ts.js b/contract-ts/.tsimp/compiled/sandbox-ts_$$_main_ava_ts.js deleted file mode 100644 index 3deb3aa..0000000 --- a/contract-ts/.tsimp/compiled/sandbox-ts_$$_main_ava_ts.js +++ /dev/null @@ -1,114 +0,0 @@ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -import { Worker } from 'near-workspaces'; -import anyTest from 'ava'; -import { setDefaultResultOrder } from 'dns'; -setDefaultResultOrder('ipv4first'); // temp fix for node >v17 -var worker; -var accounts; -var test = anyTest; -test.before(function (t) { return __awaiter(void 0, void 0, void 0, function () { - var root, contract; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, Worker.init()]; - case 1: - // Init the worker and start a Sandbox server - worker = _a.sent(); - t.assert(false); - root = worker.rootAccount; - return [4 /*yield*/, root.createSubAccount('test-account')]; - case 2: - contract = _a.sent(); - // Get wasm file path from package.json test script in folder above - return [4 /*yield*/, contract.deploy(process.argv[2])]; - case 3: - // Get wasm file path from package.json test script in folder above - _a.sent(); - // Save state for test runs, it is unique for each test - accounts = { root: root, contract: contract }; - return [2 /*return*/]; - } - }); -}); }); -test.after.always(function (t) { return __awaiter(void 0, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - // Stop Sandbox server - return [4 /*yield*/, worker.tearDown().catch(function (error) { - console.log('Failed to stop the Sandbox:', error); - })]; - case 1: - // Stop Sandbox server - _a.sent(); - return [2 /*return*/]; - } - }); -}); }); -test('returns the default greeting', function (t) { return __awaiter(void 0, void 0, void 0, function () { - var contract, greeting; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - contract = accounts.contract; - return [4 /*yield*/, contract.view('get_greeting', {})]; - case 1: - greeting = _a.sent(); - t.is(greeting, 'Hello'); - return [2 /*return*/]; - } - }); -}); }); -test('changes the greeting', function (t) { return __awaiter(void 0, void 0, void 0, function () { - var root, contract, greeting; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - root = accounts.root, contract = accounts.contract; - return [4 /*yield*/, root.call(contract, 'set_greeting', { greeting: 'Howdy' })]; - case 1: - _a.sent(); - return [4 /*yield*/, contract.view('get_greeting', {})]; - case 2: - greeting = _a.sent(); - t.is(greeting, 'Howdy'); - return [2 /*return*/]; - } - }); -}); }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5hdmEuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2dhZ2RpZXovdG1wL2RvY3MtZXhhbXBsZXMvaGVsbG8tbmVhci1leGFtcGxlcy9jb250cmFjdC10cy8iLCJzb3VyY2VzIjpbInNhbmRib3gtdHMvbWFpbi5hdmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sT0FBbUIsTUFBTSxLQUFLLENBQUM7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7QUFFMUcsSUFBSSxNQUFjLENBQUM7QUFDbkIsSUFBSSxRQUFxQyxDQUFDO0FBRTFDLElBQU0sSUFBSSxHQUFHLE9BQXFCLENBQUM7QUFFbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFPLENBQUM7Ozs7b0JBRVQscUJBQU0sTUFBTSxDQUFDLElBQUksRUFBRSxFQUFBOztnQkFENUIsNkNBQTZDO2dCQUM3QyxNQUFNLEdBQUcsU0FBbUIsQ0FBQztnQkFFN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFVixJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztnQkFDZixxQkFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUE7O2dCQUF0RCxRQUFRLEdBQUcsU0FBMkM7Z0JBQzVELG1FQUFtRTtnQkFDbkUscUJBQU0sUUFBUSxDQUFDLE1BQU0sQ0FDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDaEIsRUFBQTs7Z0JBSEQsbUVBQW1FO2dCQUNuRSxTQUVDLENBQUM7Z0JBRUYsdURBQXVEO2dCQUN2RCxRQUFRLEdBQUcsRUFBRSxJQUFJLE1BQUEsRUFBRSxRQUFRLFVBQUEsRUFBRSxDQUFDOzs7O0tBQy9CLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQU8sQ0FBQzs7OztZQUN4QixzQkFBc0I7WUFDdEIscUJBQU0sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFDLEtBQUs7b0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3BELENBQUMsQ0FBQyxFQUFBOztnQkFIRixzQkFBc0I7Z0JBQ3RCLFNBRUUsQ0FBQzs7OztLQUNKLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyw4QkFBOEIsRUFBRSxVQUFPLENBQUM7Ozs7O2dCQUNuQyxRQUFRLEdBQUssUUFBUSxTQUFiLENBQWM7Z0JBQ0wscUJBQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLEVBQUE7O2dCQUExRCxRQUFRLEdBQVcsU0FBdUM7Z0JBQ2hFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzs7O0tBQ3pCLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxzQkFBc0IsRUFBRSxVQUFPLENBQUM7Ozs7O2dCQUMzQixJQUFJLEdBQWUsUUFBUSxLQUF2QixFQUFFLFFBQVEsR0FBSyxRQUFRLFNBQWIsQ0FBYztnQkFDcEMscUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUE7O2dCQUFoRSxTQUFnRSxDQUFDO2dCQUN4QyxxQkFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsRUFBQTs7Z0JBQTFELFFBQVEsR0FBVyxTQUF1QztnQkFDaEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7Ozs7S0FDekIsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/contract-ts/.tsimp/daemon/log b/contract-ts/.tsimp/daemon/log deleted file mode 100644 index e69de29..0000000 diff --git a/contract-ts/.tsimp/daemon/mtime b/contract-ts/.tsimp/daemon/mtime deleted file mode 100644 index d0b7dfc..0000000 --- a/contract-ts/.tsimp/daemon/mtime +++ /dev/null @@ -1 +0,0 @@ -1709289814902 diff --git a/contract-ts/.tsimp/daemon/pid b/contract-ts/.tsimp/daemon/pid deleted file mode 100644 index 1d22a33..0000000 --- a/contract-ts/.tsimp/daemon/pid +++ /dev/null @@ -1 +0,0 @@ -76315 From d78a7ddecff53a3b0bd8e346af6c1c62c6453bf1 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Fri, 1 Mar 2024 17:01:45 +0100 Subject: [PATCH 3/6] fix: tests --- contract-ts/package.json | 2 +- contract-ts/sandbox-ts/main.ava.ts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/contract-ts/package.json b/contract-ts/package.json index 1e0afe9..865c07b 100644 --- a/contract-ts/package.json +++ b/contract-ts/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "build": "near-sdk-js build src/contract.ts build/hello_near.wasm", - "test": "ava -- ./build/hello_near.wasm" + "test": "$npm_execpath build && ava -- ./build/hello_near.wasm" }, "dependencies": { "near-cli": "^4.0.8", diff --git a/contract-ts/sandbox-ts/main.ava.ts b/contract-ts/sandbox-ts/main.ava.ts index 176be1a..96cbe36 100644 --- a/contract-ts/sandbox-ts/main.ava.ts +++ b/contract-ts/sandbox-ts/main.ava.ts @@ -12,7 +12,6 @@ test.before(async (t) => { // Init the worker and start a Sandbox server worker = await Worker.init(); - t.assert(false); // Deploy contract const root = worker.rootAccount; const contract = await root.createSubAccount('test-account'); From 350e3ee76ccba3466988de57af754438c3fb6654 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Fri, 1 Mar 2024 17:20:40 +0100 Subject: [PATCH 4/6] fix: tests --- .github/workflows/tests-rs.yml | 8 ++++---- .github/workflows/tests-ts.yml | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests-rs.yml b/.github/workflows/tests-rs.yml index 98c6df0..54d3282 100644 --- a/.github/workflows/tests-rs.yml +++ b/.github/workflows/tests-rs.yml @@ -6,12 +6,12 @@ jobs: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} + concurrency: + group: rs-tests + cancel-in-progress: true steps: - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - with: - node-version: "16" - name: Install and test modules run: | cd ./contract-rs - ./test.sh + cargo test diff --git a/.github/workflows/tests-ts.yml b/.github/workflows/tests-ts.yml index cabefe9..25dccaf 100644 --- a/.github/workflows/tests-ts.yml +++ b/.github/workflows/tests-ts.yml @@ -7,6 +7,9 @@ jobs: platform: [ubuntu-latest, macos-latest] node-version: [18, 20] runs-on: ${{ matrix.platform }} + concurrency: + group: ts-tests + cancel-in-progress: true steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 From caef158488a9cf56853efe7fb9c6e723556e7226 Mon Sep 17 00:00:00 2001 From: gagdiez Date: Fri, 1 Mar 2024 17:24:54 +0100 Subject: [PATCH 5/6] fix: actions --- .github/workflows/tests-rs.yml | 5 +---- .github/workflows/tests-ts.yml | 7 ++----- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/tests-rs.yml b/.github/workflows/tests-rs.yml index 54d3282..c28f144 100644 --- a/.github/workflows/tests-rs.yml +++ b/.github/workflows/tests-rs.yml @@ -6,11 +6,8 @@ jobs: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} - concurrency: - group: rs-tests - cancel-in-progress: true steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Install and test modules run: | cd ./contract-rs diff --git a/.github/workflows/tests-ts.yml b/.github/workflows/tests-ts.yml index 25dccaf..dd7fbad 100644 --- a/.github/workflows/tests-ts.yml +++ b/.github/workflows/tests-ts.yml @@ -7,12 +7,9 @@ jobs: platform: [ubuntu-latest, macos-latest] node-version: [18, 20] runs-on: ${{ matrix.platform }} - concurrency: - group: ts-tests - cancel-in-progress: true steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Install and test modules From 28aaba3a6cbbf92f4b1c5290242400a43ea535bf Mon Sep 17 00:00:00 2001 From: gagdiez Date: Fri, 1 Mar 2024 17:29:39 +0100 Subject: [PATCH 6/6] minor fix --- contract-ts/sandbox-ts/main.ava.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/contract-ts/sandbox-ts/main.ava.ts b/contract-ts/sandbox-ts/main.ava.ts index 96cbe36..619dbc4 100644 --- a/contract-ts/sandbox-ts/main.ava.ts +++ b/contract-ts/sandbox-ts/main.ava.ts @@ -15,6 +15,7 @@ test.before(async (t) => { // Deploy contract const root = worker.rootAccount; const contract = await root.createSubAccount('test-account'); + // Get wasm file path from package.json test script in folder above await contract.deploy( process.argv[2],