import trackingWrapper from "./tracking";
describe("trackingWrapper", () => {
    test.each([
        {
            method: "platformLoad",
            message: "Platform Load",
        },
        {
            method: "platformReload",
            message: "Platform Reload",
        },
        {
            method: "platformLoadFail",
            message: "Platform Load Fail",
        },
        {
            method: "platformLoadSuccess",
            message: "Platform Load Success",
        },
        {
            method: "platformSignTransactionRequested",
            message: "Platform SignTransaction",
        },
        {
            method: "platformSignTransactionFail",
            message: "Platform SignTransaction Fail",
        },
        {
            method: "platformSignTransactionSuccess",
            message: "Platform SignTransaction Success",
        },
        {
            method: "platformRequestAccountRequested",
            message: "Platform RequestAccount",
        },
        {
            method: "platformRequestAccountFail",
            message: "Platform RequestAccount Fail",
        },
        {
            method: "platformRequestAccountSuccess",
            message: "Platform RequestAccount Success",
        },
        {
            method: "platformReceiveRequested",
            message: "Platform Receive",
        },
        {
            method: "platformReceiveFail",
            message: "Platform Receive Fail",
        },
        {
            method: "platformReceiveSuccess",
            message: "Platform Receive Success",
        },
        {
            method: "platformBroadcastFail",
            message: "Platform Broadcast Fail",
        },
        {
            method: "platformBroadcastSuccess",
            message: "Platform Broadcast Success",
        },
        {
            method: "platformBroadcastOperationDetailsClick",
            message: "Platform Broadcast OpD Clicked",
        },
        {
            method: "platformStartExchangeRequested",
            message: "Platform start Exchange Nonce request",
        },
        {
            method: "platformStartExchangeSuccess",
            message: "Platform start Exchange Nonce success",
        },
        {
            method: "platformStartExchangeFail",
            message: "Platform start Exchange Nonce fail",
        },
        {
            method: "platformCompleteExchangeRequested",
            message: "Platform complete Exchange requested",
        },
        {
            method: "platformCompleteExchangeSuccess",
            message: "Platform complete Exchange success",
        },
        {
            method: "platformCompleteExchangeFail",
            message: "Platform complete Exchange Nonce fail",
        },
        {
            method: "platformSignMessageRequested",
            message: "Platform sign message requested",
        },
        {
            method: "platformSignMessageSuccess",
            message: "Platform sign message success",
        },
        {
            method: "platformSignMessageFail",
            message: "Platform sign message fail",
        },
        {
            method: "platformSignMessageUserRefused",
            message: "Platform sign message user refused",
        },
    ])("calls once inner trackPlatform function $method with event named: $message", ({ method, message }) => {
        // Given
        const appManifest = appManifestFixture();
        const mockedTrack = jest.fn();
        // When
        trackingWrapper(mockedTrack)[method](appManifest);
        // Then
        expect(mockedTrack).toHaveBeenCalledTimes(1);
        expect(mockedTrack).toHaveBeenCalledWith(message, {
            platform: appManifest.name,
        }, null);
    });
});
function appManifestFixture(name = "live-app") {
    return {
        id: "12",
        name,
        url: "https://www.ledger.fr",
        homepageUrl: "https://www.ledger.fr",
        platforms: ["ios", "android", "desktop"],
        apiVersion: "1.0.0",
        manifestVersion: "1.0.0",
        branch: "debug",
        categories: ["test"],
        currencies: "*",
        content: {
            shortDescription: {
                en: "test",
            },
            description: {
                en: "test",
            },
        },
        permissions: [],
        domains: [],
        visibility: "complete",
    };
}
//# sourceMappingURL=tracking.test.js.map