End-to-end testing tests an entire product, service or application. Individual products should each have their own tests.
Where possible, external dependencies (such as Azure Search) should be mocked. This is because external dependencies can slow down these tests and make them brittle. Testing with external dependencies should be carried out manually.
Websites should be tested by Cypress.
GraphQL APIs should be tested by Jest.
JavaScript and TypeScript helpers should be tested by Jest.
Where Typescript support is required, Jest supports this via @babel/preset-typescript
React components should be tested by Enzyme via Jest.
Rust code should be tested by Rust, using its unit testing framework.
There is no need for unit tests on Rust server code which is purely plugging into external dependency crates. This integration will be well-covered by all end-to-end tests for those servers.