## Description
The EvaluatorStub (`lib/mockUtils.js`) is unable to inspect the contents of native code. The only action it can take is to return a pre-computed value on the basis of the input object's identity (`Z8K5`).
Now that workflows within an evaluator can be much more complex, the `EvaluatorStub` needs to become more sophisticated. We can use [[ https://wanago.io/2022/08/08/javascript-testing-mocking-websockets-mock-socket/ | mock-socket ]] to mock out websocket messages.
**Desired behavior/Acceptance criteria (returned value, expected error, performance expectations, etc.)**
* Ideally, we'd be able to specify a sequence of events in tests, e.g.
* orchestrator sends native code to evaluator
* evaluator responds with `call { Z1K1: "Z801", Z801K1: "something" }`
* orchestrator runs that function and sends output (`"something"`) back to evaluator
* evaluator processes `"something"` and returns output back to orchestrator
* We can remove `istanbul ignore` pragmas in `src/Evaluator.js`
---
**Remove all the non-applicable tags from the "Tags" field, leave only the tags of the projects/repositories related to this task**
---
## Completion checklist
* [ ] Before closing this task, review one by one the checklist available here: https://www.mediawiki.org/wiki/Abstract_Wikipedia_team/Definition_of_Done#Back-end_Task/Bug_completion_checklist