Integration Tests ​
Integration tests are written within the integration_tests module and stored in the /tests/ directory.
Integration Test Strategy ​
Integration tests send actual requests to Notion API endpoints. Therefore, you need to prepare a workspace before running the tests.
INFO
Since notionrs supports CRUD operations, it's possible to automate all tests. However, detecting issues across multiple methods can be challenging, so we follow a strategy that includes manual preparation.
In the future, we plan to create a test that accepts a single page_id and API secret to comprehensively execute all methods and handle cleanup. This will simplify the testing process.
Running Integration Tests ​
First, create a .env file in the root directory and set the NOTION_TOKEN.
NOTION_TOKEN=secret_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXINFO
You can also export the NOTION_TOKEN environment variable or pass it directly as a shell variable when running the tests.
To run only the integration tests, you can use the following command, specifying the integration_tests module:
cargo test integration_testsThis command will execute all tests defined within the integration_tests module.
// TODO: docs: Document the preparation of a Notion workspace for integration tests