Skip to content

Commit da27a9d

Browse files
committed
chore: updated publish flow
1 parent 4366cc0 commit da27a9d

File tree

4 files changed

+65
-80
lines changed

4 files changed

+65
-80
lines changed

jest.config.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module.exports = {
2-
testEnvironment: 'node',
2+
testEnvironment: "node",
33
collectCoverage: true,
4-
collectCoverageFrom: ['src/**/*.js', '!**/node_modules/**']
5-
}
4+
collectCoverageFrom: ["src/**/*.js", "!**/node_modules/**"],
5+
};

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
"build": "babel src -d dist",
2323
"docs": "esdoc",
2424
"ganache": "ganache-cli",
25-
"prepublishOnly": "run-s test build",
25+
"prepublishOnly": "run-s build",
26+
"preversion": "run-s test",
2627
"release": "standard-version",
2728
"test": "jest --config ./jest.config.js",
2829
"prepare": "husky install"

tests/utils/hashing.test.js

+33-47
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,50 @@
1-
/* eslint-disable prettier/prettier */
2-
import fs from 'fs'
3-
import path from 'path'
1+
jest.useFakeTimers();
42

5-
import axios from 'axios'
6-
import Web3 from 'web3'
3+
import fs from "fs";
4+
import path from "path";
75

8-
import {
9-
multihashFile,
10-
validMultihash
11-
} from '../../src/utils/hashing'
6+
import axios from "axios";
7+
import Web3 from "web3";
128

13-
describe('Hashing and Validation', () => {
14-
it('Custom hash function', async () => {
15-
const hashedText = '12345'
9+
import { multihashFile, validMultihash } from "../../src/utils/hashing";
10+
11+
describe("Hashing and Validation", () => {
12+
it("Custom hash function", async () => {
13+
const hashedText = "12345";
1614

1715
const nonStandardSha3Hash = multihashFile(
1816
hashedText,
19-
0x1B, // keccak-256
17+
0x1b, // keccak-256
2018
Web3.utils.soliditySha3 // custom hash function
21-
)
19+
);
2220

2321
// Use the standard keccak-256 hashing algorithm
24-
expect(validMultihash(nonStandardSha3Hash, hashedText)).toBeFalsy() // false
22+
expect(validMultihash(nonStandardSha3Hash, hashedText)).toBeFalsy(); // false
2523

2624
// Use the solidity sha3 implementation
27-
expect(
28-
validMultihash(nonStandardSha3Hash, hashedText, Web3.utils.soliditySha3)
29-
).toBeTruthy() // true
30-
})
31-
it('Hash from a file', async () => {
32-
const fileContents = JSON.parse(fs.readFileSync(path.resolve(__dirname, "./exampleMetaEvidenceBasic.json")).toString())
25+
expect(validMultihash(nonStandardSha3Hash, hashedText, Web3.utils.soliditySha3)).toBeTruthy(); // true
26+
});
27+
it("Hash from a file", async () => {
28+
const fileContents = JSON.parse(
29+
fs.readFileSync(path.resolve(__dirname, "./exampleMetaEvidenceBasic.json")).toString()
30+
);
3331

34-
const evidenceHash = multihashFile(
35-
JSON.stringify(fileContents),
36-
0x16
37-
)
32+
const evidenceHash = multihashFile(JSON.stringify(fileContents), 0x16);
3833

39-
expect(validMultihash(
40-
evidenceHash,
41-
JSON.stringify(fileContents)
42-
)).toBeTruthy() // true
43-
})
44-
it('Hash from a file selfHash', async () => {
45-
const fileContents = fs.readFileSync(path.resolve(__dirname, "./exampleMetaEvidenceBasicSelfHash.json")).toString()
34+
expect(validMultihash(evidenceHash, JSON.stringify(fileContents))).toBeTruthy(); // true
35+
});
36+
it("Hash from a file selfHash", async () => {
37+
const fileContents = fs.readFileSync(path.resolve(__dirname, "./exampleMetaEvidenceBasicSelfHash.json")).toString();
4638

47-
const { selfHash, ...fileJSON } = JSON.parse(fileContents)
39+
const { selfHash, ...fileJSON } = JSON.parse(fileContents);
4840

49-
expect(validMultihash(
50-
selfHash,
51-
fileJSON
52-
)).toBeTruthy() // true
53-
})
54-
it('Hash display interface', async () => {
55-
const pageContents = (await axios.get('https://kleros-t2cr-evidence.netlify.com/')).data
41+
expect(validMultihash(selfHash, fileJSON)).toBeTruthy(); // true
42+
});
43+
it("Hash display interface", async () => {
44+
const pageContents = (await axios.get("https://kleros-t2cr-evidence.netlify.com/")).data;
5645

57-
const multiHash = multihashFile(pageContents, 0x1B)
46+
const multiHash = multihashFile(pageContents, 0x1b);
5847

59-
expect(validMultihash(
60-
multiHash,
61-
pageContents
62-
)).toBeTruthy()
63-
})
64-
})
48+
expect(validMultihash(multiHash, pageContents)).toBeTruthy();
49+
});
50+
});

tests/utils/sanitize.test.js

+27-29
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,33 @@
1-
/* eslint-disable prettier/prettier */
1+
jest.useFakeTimers();
22

3-
import {
4-
sanitizeMetaEvidence
5-
} from '../../src/utils/sanitize'
3+
import { sanitizeMetaEvidence } from "../../src/utils/sanitize";
64

7-
describe('Sanatize MetaEvidence', () => {
8-
it('sanatizes data', async () => {
5+
describe("Sanatize MetaEvidence", () => {
6+
it("sanatizes data", async () => {
97
const _metaEvidence = {
10-
"key1": "still here",
11-
"evidenceDisplayInterfaceURL": "/ipfs/...",
12-
"evidenceDisplayInterfaceURLHash": "hash",
13-
"rulingOptions": {}
14-
}
8+
key1: "still here",
9+
evidenceDisplayInterfaceURL: "/ipfs/...",
10+
evidenceDisplayInterfaceURLHash: "hash",
11+
rulingOptions: {},
12+
};
1513

16-
const sanatizedMetaEvidence = sanitizeMetaEvidence(_metaEvidence)
17-
expect(sanatizedMetaEvidence.evidenceDisplayInterfaceURI).toEqual(_metaEvidence.evidenceDisplayInterfaceURL)
18-
expect(sanatizedMetaEvidence.evidenceDisplayInterfaceHash).toEqual(_metaEvidence.evidenceDisplayInterfaceURLHash)
19-
expect(sanatizedMetaEvidence.key1).toEqual(_metaEvidence.key1)
20-
expect(sanatizedMetaEvidence.rulingOptions.type).toEqual('single-select')
21-
})
22-
it('skips rulingOptions if not there', async () => {
14+
const sanatizedMetaEvidence = sanitizeMetaEvidence(_metaEvidence);
15+
expect(sanatizedMetaEvidence.evidenceDisplayInterfaceURI).toEqual(_metaEvidence.evidenceDisplayInterfaceURL);
16+
expect(sanatizedMetaEvidence.evidenceDisplayInterfaceHash).toEqual(_metaEvidence.evidenceDisplayInterfaceURLHash);
17+
expect(sanatizedMetaEvidence.key1).toEqual(_metaEvidence.key1);
18+
expect(sanatizedMetaEvidence.rulingOptions.type).toEqual("single-select");
19+
});
20+
it("skips rulingOptions if not there", async () => {
2321
const _metaEvidence = {
24-
"key1": "still here",
25-
"evidenceDisplayInterfaceURL": "/ipfs/...",
26-
"evidenceDisplayInterfaceURLHash": "hash"
27-
}
22+
key1: "still here",
23+
evidenceDisplayInterfaceURL: "/ipfs/...",
24+
evidenceDisplayInterfaceURLHash: "hash",
25+
};
2826

29-
const sanatizedMetaEvidence = sanitizeMetaEvidence(_metaEvidence)
30-
expect(sanatizedMetaEvidence.evidenceDisplayInterfaceURI).toEqual(_metaEvidence.evidenceDisplayInterfaceURL)
31-
expect(sanatizedMetaEvidence.evidenceDisplayInterfaceHash).toEqual(_metaEvidence.evidenceDisplayInterfaceURLHash)
32-
expect(sanatizedMetaEvidence.key1).toEqual(_metaEvidence.key1)
33-
expect(sanatizedMetaEvidence.rulingOptions).toBeFalsy()
34-
})
35-
})
27+
const sanatizedMetaEvidence = sanitizeMetaEvidence(_metaEvidence);
28+
expect(sanatizedMetaEvidence.evidenceDisplayInterfaceURI).toEqual(_metaEvidence.evidenceDisplayInterfaceURL);
29+
expect(sanatizedMetaEvidence.evidenceDisplayInterfaceHash).toEqual(_metaEvidence.evidenceDisplayInterfaceURLHash);
30+
expect(sanatizedMetaEvidence.key1).toEqual(_metaEvidence.key1);
31+
expect(sanatizedMetaEvidence.rulingOptions).toBeFalsy();
32+
});
33+
});

0 commit comments

Comments
 (0)