f5976a2d74
* feat: moved tl-runtime to esm and native ArrayBuffers * feat: migration to esm * fix(core): web-related fixes * test: finally, some good fucking e2e * chore: fixed linters etc * ci: added e2e to ci * build(tl): fixed gen-code on node 20 * fix: codegen Uint8Array, not Buffer never `git reset --hard` kids * build: only do type-aware linting for `packages/*` * build: ignore no-unresolved in ci for e2e * fix: node 16 doesn't have subtle crypto apparently? * fix(tests): use Uint8Array for gods sake please can i just merge this already * ci: don't parallel tasks in ci because machines are utter garbage and it may just randomly break * ci: pass secrets to e2e tests * ci: separate cli command for ci apparently im retarded * fix: run codegen in e2e im actually retarded * ci: more fixes for e2e * ci: debugging stuff * ci: still debugging * ci: hopefully fix ci???
48 lines
No EOL
1.2 KiB
Markdown
48 lines
No EOL
1.2 KiB
Markdown
# mtcute e2e tests
|
|
|
|
This directory contains end-to-end tests for mtcute.
|
|
|
|
They are made for 2 purposes:
|
|
- Ensure published packages work as expected and can properly be imported
|
|
- Ensure that the library works with the actual Telegram API (WIP)
|
|
|
|
To achieve the first goal, we use a Verdaccio container to publish the package to,
|
|
and then install it from there in another container
|
|
|
|
## Setting up
|
|
|
|
Before running the tests, you need to copy `.env.example` to `.env` and fill in the values
|
|
|
|
## Running tests
|
|
|
|
To run tests, you need to have Docker installed.
|
|
|
|
```bash
|
|
# first start Verdaccio:
|
|
./cli.sh start
|
|
|
|
# build and publish the package
|
|
./cli.sh update
|
|
# or a particular package
|
|
./cli.sh update tl-runtime
|
|
|
|
# run the tests
|
|
./cli.sh run
|
|
# or in docker
|
|
./cli.sh run-docker
|
|
```
|
|
|
|
## Developing
|
|
|
|
Once you have Verdaccio running, you can run the following commands to setup
|
|
the environment for development:
|
|
|
|
```bash
|
|
npm config set -L project @mtcute:registry http://verdaccio.e2e.orb.local/
|
|
./cli.sh install
|
|
```
|
|
|
|
> Replace the URL above with the one generated with your Docker GUI of choice
|
|
> (e2e > verdaccio > RMB > Open in browser). Example above assumes OrbStack
|
|
|
|
Then use `./cli.sh run` to run the tests |