Przekazywanie parametrów w testach truflowych

Oct 22 2020

Mam ten parametr dla funkcji:

type modify_list is 
| Add of list(address)
| Remove of list(address)

type modify_list_michelson is michelson_or_right_comb(modify_list)

Kiedy próbuję podać parametr w moich testach trufli w następujący sposób:

{ add: [account1, account2], remove: [] }

Otrzymuję ten błąd:

Received 1 arguments while expecting one of the following signatures ([["add","list"],["remove","list"]])

Czy ktoś może mi powiedzieć, jak poprawnie podać argumenty? Próbowałem uprościć parametr za pomocą adresów zamiast listy i wypróbowałem prawie każdą strukturę danych, o której mogłem wymyślić w teście JS, ale jeszcze bez sukcesu.

Odpowiedzi

2 ClaudeBarde Oct 27 2020 at 21:54

Prawidłowa składnia parametru jest następująca: "remove", [account1, account2](2 różne parametry, brak obiektu).
Zbudowałem prostą umowę, aby naśladować Twoją sprawę, wdrożyłem ją i napisałem mały skrypt, aby ją przetestować . Po wywołaniu wybranego punktu wejścia, musisz podać 2 parametry: 1- pole, w którym chcesz ustawić wartość unii, 2- jego parametry (jeśli istnieją).
Daj mi znać, jeśli masz inne pytania :)

1 RoxaneLétourneau Oct 24 2020 at 00:56

Uważam, że błąd polega na tym, że przekazujesz 2 parametry (dodaj i usuń), ale powinieneś przekazać tylko wybrany. Proponuję spróbować:{ add: [account1, account2] }