secret-polar-reworks
Version:
Polar is a development environment to compile, deploy, test, run scrt contracts on different networks.
63 lines (53 loc) • 2.24 kB
text/typescript
import { assert } from "chai";
import fs from "fs-extra";
import path from "path";
import { ERRORS } from "../../src/internal/core/errors-list";
import { compile } from "../../src/lib/compile/compile";
import { expectPolarErrorAsync } from "../helpers/errors";
import { useFixtureProject } from "../helpers/project";
describe("Compile task", () => {
afterEach(() => {
fs.removeSync("./artifacts");
});
describe("Compile simple contract", function () {
useFixtureProject("testproject");
it("Should create .wasm files", async function () {
await compile(false, [], false, false);
assert.isTrue(fs.existsSync(`./artifacts/contracts/sample_project.wasm`));
}).timeout(200000);
});
describe("Compile multi contract", function () {
useFixtureProject("multiproject");
it("Should create .wasm files for each contract", async function () {
await compile(false, [], false, false);
assert.isTrue(fs.existsSync(`./artifacts/contracts/sample_project.wasm`));
assert.isTrue(fs.existsSync(`./artifacts/contracts/sample_project_1.wasm`));
}).timeout(200000);
});
describe("Should not compile multiple contract with same name", function () {
useFixtureProject("multiproject-error");
it("Should give an error of same contract names", async function () {
await expectPolarErrorAsync(
async () => await compile(false, [], false, false),
ERRORS.GENERAL.SAME_CONTRACT_NAMES
);
}).timeout(200000);
});
describe("Compile by providing sourceDir", function () {
useFixtureProject("testproject");
it("Should create .wasm files of only given contract in sourceDir", async function () {
await compile(false, ["contracts/"], false, false);
assert.isTrue(fs.existsSync(`./artifacts/contracts/sample_project.wasm`));
}).timeout(200000);
});
describe("Compile fail when contract has compile errors", function () {
useFixtureProject("errorproject");
it("Should raise Polar error", async function () {
// check for Exception
await expectPolarErrorAsync(
async () => await compile(false, [], false, false),
ERRORS.GENERAL.RUST_COMPILE_ERROR
);
}).timeout(200000);
});
});