stellar / system-test

Home of the stellar/stellar-system-test docker image for e2e system testing
1 stars 5 forks source link

Add support for Node JS to client matrix for soroban dapp test cases #4

Closed sreuland closed 1 year ago

sreuland commented 1 year ago

What problem does your feature solve?

e2e tests don't use Node JS as client to invoke contracts in test coverage yet

What would you like to see?

The dapp feature test suite should provide config ability for specifying Node JS as additional client test case.

Server(Node) Tests use the soroban-js-client

Allow 'JSNODE' as Client Tool options in the Gherkin feature definitions(dapp_develop.feature):

  Examples: 
        | Tool         | ContractExampleSubPath | ContractName                  | ContractCompiledFileName             |FunctionName  | Param1    | Result             |
        | JSNODE       | hello_world            | soroban-hello-world-contract  | soroban_hello_world_contract.wasm    | hello        | Aloha     | ["Hello","Aloha"]  |
        | CLI          | hello_world            | soroban-hello-world-contract  | soroban_hello_world_contract.wasm    | hello        | Aloha     | ["Hello","Aloha"]  |
        | JSNODE       | increment              | soroban-increment-contract    | soroban_increment_contract.wasm      | increment    |           | 1                  | 
        | CLI          | increment              | soroban-increment-contract    | soroban_increment_contract.wasm      | increment    |           | 1                  |

Provide new environment variables that can be passed during e2e test execution to specify which Node JS version to test:

What alternatives are there?

jcx120 commented 1 year ago

Interface: Go functions wired up to parameter names. assumption: underlying framework is up and running (soroban-js-client)

paulbellamy commented 1 year ago

Ideally we should use the js client for more than just what the "Tool" is used for now (only the invoke). The js client could also do all the steps (aside from compilation).