UNPKG

@ledgerhq/live-common

Version:
331 lines 14.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fetchRates_1 = require("./fetchRates"); // Make sure the path is correct const bignumber_js_1 = require("bignumber.js"); describe("throwRateError", () => { describe("SwapExchangeRateAmountTooHigh Error", () => { const response = [ { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "cic", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "fixed", error: {}, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "cic", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: {}, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "paraswap", providerType: "DEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "CurrencyNotSupportedError" }, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "oneinch", providerType: "DEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "CurrencyNotSupportedError" }, }, ]; // Call the function and expect it to throw an exception try { (0, fetchRates_1.throwRateError)(response); // Fail test if above expression doesn't throw anything. expect(true).toBe(false); } catch (e) { expect(e["name"]).toBe("SwapGenericAPIError"); } }); describe("SwapExchangeRateAmountTooHigh Error", () => { const response = [ { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "changelly", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "fixed", error: { name: "SwapExchangeRateAmountTooHigh", maxAmountFromFormatted: "34.2 XTZ", amount: new bignumber_js_1.BigNumber(34.2), }, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "cic", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "fixed", error: {}, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "cic", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: {}, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "paraswap", providerType: "DEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "CurrencyNotSupportedError" }, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "oneinch", providerType: "DEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "CurrencyNotSupportedError" }, }, ]; const leastRestrictiveRate = { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "changelly", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "SwapExchangeRateAmountTooHigh", maxAmountFromFormatted: "120.48 XTZ", amount: new bignumber_js_1.BigNumber(120.48), }, }; it("should throw a SwapExchangeRateAmountTooHigh exception with the least restrictive rate at the beginning of the array", () => { // Call the function and expect it to throw an exception try { (0, fetchRates_1.throwRateError)([leastRestrictiveRate, ...response]); // Fail test if above expression doesn't throw anything. expect(true).toBe(false); } catch (e) { expect(e).toStrictEqual({ name: "SwapExchangeRateAmountTooHigh", maxAmountFromFormatted: "120.48\xa0XTZ", amount: new bignumber_js_1.BigNumber(120.48), }); } }); it("should throw a SwapExchangeRateAmountTooHigh exception with the least restrictive rate at the end of the array", () => { // Call the function and expect it to throw an exception try { (0, fetchRates_1.throwRateError)([...response, leastRestrictiveRate]); // Fail test if above expression doesn't throw anything. expect(true).toBe(false); } catch (e) { expect(e).toStrictEqual({ name: "SwapExchangeRateAmountTooHigh", maxAmountFromFormatted: "120.48\xa0XTZ", amount: new bignumber_js_1.BigNumber(120.48), }); } }); }); describe("SwapExchangeRateAmountTooLow Error", () => { const response = [ { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "changelly", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "fixed", error: { name: "SwapExchangeRateAmountTooLow", minAmountFromFormatted: "120.48 XTZ", amount: new bignumber_js_1.BigNumber(120.48), }, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "cic", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "fixed", error: {}, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "cic", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: {}, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "paraswap", providerType: "DEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "CurrencyNotSupportedError" }, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "oneinch", providerType: "DEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "CurrencyNotSupportedError" }, }, ]; const leastRestrictiveRate = { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "changelly", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "SwapExchangeRateAmountTooLow", minAmountFromFormatted: "34.2 XTZ", amount: new bignumber_js_1.BigNumber(34.2), }, }; it("should throw a SwapExchangeRateAmountTooLow exception with the least restrictive rate at the beginning of the array", () => { // Call the function and expect it to throw an exception try { (0, fetchRates_1.throwRateError)([leastRestrictiveRate, ...response]); // Fail test if above expression doesn't throw anything. expect(true).toBe(false); } catch (e) { expect(e).toStrictEqual({ name: "SwapExchangeRateAmountTooLow", minAmountFromFormatted: "34.2\xa0XTZ", amount: new bignumber_js_1.BigNumber(34.2), }); } }); it("should throw a SwapExchangeRateAmountTooLow exception with the least restrictive rate at the end of the array", () => { // Call the function and expect it to throw an exception try { (0, fetchRates_1.throwRateError)([...response, leastRestrictiveRate]); // Fail test if above expression doesn't throw anything. expect(true).toBe(false); } catch (e) { expect(e).toStrictEqual({ name: "SwapExchangeRateAmountTooLow", minAmountFromFormatted: "34.2\xa0XTZ", amount: new bignumber_js_1.BigNumber(34.2), }); } }); }); describe("SwapExchangeRateAmountTooLowOrTooHigh Error", () => { const response = [ { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "changelly", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "fixed", error: { name: "SwapExchangeRateAmountTooLow", minAmountFromFormatted: "0.05354428 ETH", amount: new bignumber_js_1.BigNumber(0.05354428), }, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "changelly", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "SwapExchangeRateAmountTooLow", minAmountFromFormatted: "0.0201 ETH", amount: new bignumber_js_1.BigNumber(0.0201), }, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "cic", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "fixed", error: {}, }, { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "cic", providerType: "CEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: {}, }, ]; const dexLimiteRate = { magnitudeAwareRate: new bignumber_js_1.BigNumber(0), payoutNetworkFees: new bignumber_js_1.BigNumber(0), provider: "oneinch", providerType: "DEX", toAmount: new bignumber_js_1.BigNumber(0), tradeMethod: "float", error: { name: "SwapExchangeRateAmountTooLowOrTooHigh" }, }; it("should throw a SwapExchangeRateAmountTooLowOrTooHigh exception with the least restrictive rate at the beginning of the array", () => { // Call the function and expect it to throw an exception try { (0, fetchRates_1.throwRateError)([dexLimiteRate, ...response]); // Fail test if above expression doesn't throw anything. expect(true).toBe(false); } catch (e) { expect(e).toStrictEqual({ name: "SwapExchangeRateAmountTooLowOrTooHigh", }); } }); it("should throw a SwapExchangeRateAmountTooLowOrTooHigh exception with the least restrictive rate at the end of the array", () => { // Call the function and expect it to throw an exception try { (0, fetchRates_1.throwRateError)([...response, dexLimiteRate]); // Fail test if above expression doesn't throw anything. expect(true).toBe(false); } catch (e) { expect(e).toStrictEqual({ name: "SwapExchangeRateAmountTooLowOrTooHigh", }); } }); }); }); //# sourceMappingURL=fetchRates.test.js.map