@Test() @TestCase(TheRaven) public claimToHexFailIfChangedAttribute(work: Work) { // Changing any field should change the serialized too Expect( Serialization.claimToHex( editAttributes(work, { name: 'Nevermore', }) ) ).not.toBe(TheRavenHex) Expect( Serialization.claimToHex( editAttributes(work, { author: 'E.A.P.', }) ) ).not.toBe(TheRavenHex) Expect( Serialization.claimToHex( editAttributes(work, { dateCreated: new Date().toISOString(), }) ) ).not.toBe(TheRavenHex) }
@TestCase("some code") @TestCase("much more fancy logic") @Test("children prop is set to code state") public propsChildrenBecomesStateCode(expectedCode: string) { const codeBlock = new CodeBlock({ children: expectedCode }); Expect(codeBlock.state.code).toBe(expectedCode); }
@Test() public notExactErrorThrown() { const errorFunction = () => { throw new Error("any old error"); }; Expect(errorFunction).not.toThrowError(TypeError, "specific error"); }
@Test() public mixerReturnsCorrectLength() { let mixer = new Mixer({secondsPerMix: 1}, {}); let results = mixer.mix(44100); Expect(results.bufferSize).toBe(44100); Expect(results.output[0].length).toBe(44100); /* mixing is always in stereo */ Expect(results.output[1].length).toBe(44100); /* mixing is always in stereo */ }
@Test() public exactErrorThrownUnexpectedly() { const errorFunction = () => { throw new TypeError("specific error"); }; Expect(errorFunction).not.toThrowError(TypeError, "specific error"); }
@Test() @TestCase(TheRaven) public signatureMissingId(work: Work) { Expect(() => getClaimSignature({ ...work, id: '' }, PrivateKeyEAP)).toThrowError( IllegalArgumentException, 'Cannot sign a claim that has an empty .id field.' ) }
@Test() public errorThrown() { const errorFunction = () => { throw new Error("error"); }; Expect(errorFunction).toThrow(); }
@Test("line numbers class added") public lineNumbersClassAdded() { const codeBlock = new CodeBlock({ children: "", language: "typescript", showLineNumbers: true }); Expect(codeBlock.render().props.className).toBe("line-numbers language-typescript"); }
@Test() @TestCase(TheRaven) public claimToHexFailIfChangedClaimPublicKey(work: Work) { Expect( Serialization.claimToHex({ ...work, publicKey: 'a' + work.publicKey.slice(1), }) ).not.toBe(TheRavenHex) }
@Test() @TestCase(TheRaven) public claimIdIgnoresId(work: Work) { // The field .id is ignored in the calculation of the id const ignoreId = getClaimId({ ...work, id: '123', }) Expect(ignoreId).toBe(work.id) }