/* This file is part of GNU Taler (C) 2022-2024 Taler Systems S.A. GNU Taler is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Taler; see the file COPYING. If not, see */ /** * * @author Sebastian Javier Marchano (sebasjm) */ import { AbsoluteTime, AmountString, Duration, TranslatedString, } from "@gnu-taler/taler-util"; import { InternationalizationAPI } from "@gnu-taler/web-util/browser"; import * as tests from "@gnu-taler/web-util/testing"; import { getEventsFromAmlHistory } from "./CaseDetails.js"; import { ShowConsolidated as TestedComponent } from "./ShowConsolidated.js"; export default { title: "show consolidated", }; const nullTranslator: InternationalizationAPI = { str: (str: TemplateStringsArray) => str.join() as TranslatedString, singular: (str: TemplateStringsArray) => str.join() as TranslatedString, translate: (str: TemplateStringsArray) => [str.join()] as TranslatedString[], Translate: () => undefined as unknown, }; export const WithEmptyHistory = tests.createExample(TestedComponent, { history: getEventsFromAmlHistory([], [], nullTranslator, []), until: AbsoluteTime.now(), }); export const WithSomeEvents = tests.createExample(TestedComponent, { history: getEventsFromAmlHistory( [ { decider_pub: "JD70N2XZ8FZKB7C146ZWR6XBDCS4Z84PJKJMPB73PMJ2B1X35ZFG", justification: '{"index":0,"name":"Simple comment","value":{"fullName":"loggedIn_user_fullname","when":{"t_ms":1700207199558},"state":1,"threshold":{"currency":"STATER","fraction":0,"value":0},"comment":"test"}}', new_threshold: "STATER:0" as AmountString, new_state: 1, decision_time: { t_s: 1700208199, }, }, { decider_pub: "JD70N2XZ8FZKB7C146ZWR6XBDCS4Z84PJKJMPB73PMJ2B1X35ZFG", justification: '{"index":0,"name":"Simple comment","value":{"fullName":"loggedIn_user_fullname","when":{"t_ms":1700207199558},"state":1,"threshold":{"currency":"STATER","fraction":0,"value":0},"comment":"test"}}', new_threshold: "STATER:0" as AmountString, new_state: 1, decision_time: { t_s: 1700208211, }, }, { decider_pub: "JD70N2XZ8FZKB7C146ZWR6XBDCS4Z84PJKJMPB73PMJ2B1X35ZFG", justification: '{"index":0,"name":"Simple comment","value":{"fullName":"loggedIn_user_fullname","when":{"t_ms":1700207199558},"state":1,"threshold":{"currency":"STATER","fraction":0,"value":0},"comment":"test"}}', new_threshold: "STATER:0" as AmountString, new_state: 1, decision_time: { t_s: 1700208220, }, }, { decider_pub: "JD70N2XZ8FZKB7C146ZWR6XBDCS4Z84PJKJMPB73PMJ2B1X35ZFG", justification: '{"index":4,"name":"Declaration for trusts (902.13e)","value":{"fullName":"loggedIn_user_fullname","when":{"t_ms":1700208362854},"state":1,"threshold":{"currency":"STATER","fraction":0,"value":0},"contractingPartner":"f","knownAs":"a","trust":{"name":"b","type":"discretionary","revocability":"irrevocable"}}}', new_threshold: "STATER:0" as AmountString, new_state: 1, decision_time: { t_s: 1700208385, }, }, { decider_pub: "6CD3J8XSKWQPFFDJY4SP4RK2D7T7WW7JRJDTXHNZY7YKGXDCE2QG", justification: '{"id":"simple_comment","label":"Simple comment","version":1,"value":{"when":{"t_ms":1700488420810},"state":1,"threshold":{"currency":"STATER","fraction":0,"value":0},"comment":"qwe"}}', new_threshold: "STATER:0" as AmountString, new_state: 1, decision_time: { t_s: 1700488423, }, }, { decider_pub: "6CD3J8XSKWQPFFDJY4SP4RK2D7T7WW7JRJDTXHNZY7YKGXDCE2QG", justification: '{"id":"simple_comment","label":"Simple comment","version":1,"value":{"when":{"t_ms":1700488671251},"state":1,"threshold":{"currency":"STATER","fraction":0,"value":0},"comment":"asd asd asd "}}', new_threshold: "STATER:0" as AmountString, new_state: 1, decision_time: { t_s: 1700488677, }, }, ], [ { collection_time: AbsoluteTime.toProtocolTimestamp( AbsoluteTime.subtractDuraction( AbsoluteTime.now(), Duration.fromPrettyString("1d"), ), ), expiration_time: { t_s: "never" }, provider_section: "asd", attributes: { email: "sebasjm@qwdde.com", }, }, ], nullTranslator, [], ), until: AbsoluteTime.now(), });