taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 8ab5db6255ebea71dc6c839c2c7f00fa815a585e
parent dca6d303c1d15d49305f538dd62df7a65cdfcc38
Author: Florian Dold <florian.dold@gmail.com>
Date:   Mon, 14 Nov 2016 01:05:51 +0100

add contract validation test

Diffstat:
Msrc/types-test.ts | 35+++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+), 0 deletions(-)

diff --git a/src/types-test.ts b/src/types-test.ts @@ -36,3 +36,38 @@ test("amount subtraction (saturation)", (t: TestLib) => { t.assert(!res.saturated); t.pass(); }); + + +test("contract validation", (t: TestLib) => { + let c = { + H_wire: "123", + summary: "hello", + amount: amt(1,2,"EUR"), + auditors: [], + pay_deadline: "Date(12346)", + max_fee: amt(1,2,"EUR"), + merchant_pub: "12345", + exchanges: [{master_pub: "foo", url: "foo"}], + products: [], + refund_deadline: "Date(12345)", + timestamp: "Date(12345)", + transaction_id: 1234, + fulfillment_url: "foo", + repurchase_correlation_id: "blabla", + }; + + types.Contract.checked(c); + + let c1 = JSON.parse(JSON.stringify(c)); + c1.exchanges = [] + + try { + types.Contract.checked(c1); + } catch (e) { + t.pass(); + return; + } + + t.fail(); + +});