Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add a guide for E2E tests to run #3285

Merged
merged 3 commits into from
Dec 12, 2024
Merged

docs: add a guide for E2E tests to run #3285

merged 3 commits into from
Dec 12, 2024

Conversation

lumtis
Copy link
Member

@lumtis lumtis commented Dec 12, 2024

Description

List the regular tests to run depending on the workflow to test.

This page is aimed to be linked to the playbooks and the CI tool instruction,

Summary by CodeRabbit

  • New Features
    • Introduced a comprehensive section in the testing guide for end-to-end (E2E) tests focused on network verification.
    • Added detailed subsections covering various test scenarios, including inbounds and outbounds observation, ERC20 observation, and gateway workflows.
    • Included specific commands and examples for deposit and withdrawal transactions across multiple networks.

@lumtis lumtis requested a review from a team as a code owner December 12, 2024 13:26
Copy link
Contributor

coderabbitai bot commented Dec 12, 2024

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough
📝 Walkthrough
📝 Walkthrough

Walkthrough

The changes in this pull request introduce a comprehensive new section in the e2e/TESTING_GUIDE.md file, detailing end-to-end (E2E) tests specifically for network verification. The guide is organized into subsections that cover various test scenarios, including inbounds and outbounds observation, ERC20 observation, gateway workflows, and more. Each subsection provides specific commands and transaction amounts necessary for testing, including considerations for different token types and cross-chain operations.

Changes

File Change Summary
e2e/TESTING_GUIDE.md - Added a new section: "Regular E2E tests"
- Added subsections: "Inbounds and outbounds observation", "ERC20 observation", "Gateway basic workflow", "Solana", "Gateway revert workflow", "Gateway arbitrary calls"

Possibly related PRs

Suggested labels

no-changelog

Suggested reviewers

  • fbac
  • skosito
  • kingpinXD
  • ws4charlie
  • brewmaster012
  • swift1337

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Experiment)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (6)
e2e/TESTING_GUIDE.md (6)

1-5: Enhance introduction clarity and fix punctuation

The introduction requires minor refinements:

-# Regular E2E tests
+# Regular E2E Tests
 
-This page lists the regular E2E tests to run when testing the network, in case of upgrade, etc..
-These snippets are aimed to be copy-pasted in the input in the E2E CI tool.
+This guide outlines the standard E2E tests required for network validation, upgrades, and maintenance.
+All commands provided can be directly copy-pasted into the E2E CI tool's input field.
🧰 Tools
🪛 LanguageTool

[typographical] ~3-~3: Two consecutive dots
Context: ...ing the network, in case of upgrade, etc.. These snippets are aimed to be copy-pas...

(DOUBLE_PUNCTUATION)


12-92: Add language specifications to code blocks

For improved readability and proper syntax highlighting, specify the language for all code blocks.

Example format:

-```
+```shell
 eth_deposit:100000000000000 eth_withdraw:100000000000000
Please apply this change to all code blocks in the document.

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[style] ~18-~18: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...0000 ```  ## ERC20 observation  When we want to verify the network correctly observe cr...

(REP_WANT_TO_VB)

---

[style] ~28-~28: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...```  ## Gateway basic workflow  When we want to verify the gateway basic workflow, the ...

(REP_WANT_TO_VB)

---

[style] ~46-~46: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...``  ## Gateway revert workflow  When we want to verify the gateway revert workflow, the...

(REP_WANT_TO_VB)

</details>
<details>
<summary>🪛 Markdownlint (0.37.0)</summary>

12-12: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

22-22: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

32-32: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

40-40: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

52-52: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

64-64: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

70-70: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

76-76: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

82-82: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

---

90-90: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

---

`10-11`: **Standardize amount documentation and highlight critical information**

The documentation of amounts needs standardization and better visibility of critical information.

```diff
-The amount provided represent `0.0001` unit for coin with 18 decimals.
+The amounts are specified as follows:
+- Standard transactions: `0.0001` units (for tokens with 18 decimals)
+- ERC20 transactions: Small values compatible with various decimal configurations
+
+> **Important**: The required amounts for `depositAndCall` operations vary by network due to gas prices.
+> Values provided are estimates and may need adjustment based on current network conditions.

Also applies to: 20-21, 58-61


62-84: Add versioning information for network-specific values

The network-specific amounts need versioning context for maintenance.

Consider adding:

  1. Last updated timestamp for each network's values
  2. Reference to where these values are maintained/updated
  3. Process for updating these values when gas prices change significantly

Example format:

### Ethereum Network
> Last updated: December 2024
> Reference: [link to gas price calculation document]

Required amounts:
- ETH operations: `0.0007 ETH`
- USDC operations: `3 USDC`
🧰 Tools
🪛 Markdownlint (0.37.0)

64-64: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


70-70: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


76-76: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


82-82: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


86-92: Enhance visibility of experimental feature warning

The experimental nature of arbitrary calls should be more prominently displayed.

-## Gateway arbitrary calls
+## Gateway Arbitrary Calls (Experimental)
 
-Arbitrary calls feature is an experimental and niche use case for now, these tests are not necessary for regular testing.
+> ⚠️ **Warning**: The arbitrary calls feature is experimental and should not be used in production environments.
+> These tests are optional and not required for standard network validation.
🧰 Tools
🪛 Markdownlint (0.37.0)

90-90: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


1-92: Enhance document navigation and structure

Consider adding:

  1. Table of contents at the beginning
  2. Cross-references between related sections
  3. Quick reference table summarizing all test commands

Example TOC:

# Table of Contents
1. [Introduction](#introduction)
2. [Basic Operations](#basic-operations)
   - [Inbounds and Outbounds](#inbounds-and-outbounds)
   - [ERC20 Operations](#erc20-operations)
3. [Gateway Operations](#gateway-operations)
   - [Basic Workflow](#gateway-basic-workflow)
   - [Revert Workflow](#gateway-revert-workflow)
4. [Network-Specific Configurations](#network-specific-configurations)
5. [Experimental Features](#experimental-features)
🧰 Tools
🪛 LanguageTool

[typographical] ~3-~3: Two consecutive dots
Context: ...ing the network, in case of upgrade, etc.. These snippets are aimed to be copy-pas...

(DOUBLE_PUNCTUATION)


[style] ~18-~18: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...0000 ``` ## ERC20 observation When we want to verify the network correctly observe cr...

(REP_WANT_TO_VB)


[style] ~28-~28: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...``` ## Gateway basic workflow When we want to verify the gateway basic workflow, the ...

(REP_WANT_TO_VB)


[style] ~46-~46: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...`` ## Gateway revert workflow When we want to verify the gateway revert workflow, the...

(REP_WANT_TO_VB)

🪛 Markdownlint (0.37.0)

12-12: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


22-22: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


32-32: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


40-40: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


52-52: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


64-64: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


70-70: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


76-76: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


82-82: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


90-90: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6bbe9ea and ef3bb4f.

📒 Files selected for processing (1)
  • e2e/TESTING_GUIDE.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
e2e/TESTING_GUIDE.md

[typographical] ~3-~3: Two consecutive dots
Context: ...ing the network, in case of upgrade, etc.. These snippets are aimed to be copy-pas...

(DOUBLE_PUNCTUATION)


[style] ~18-~18: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...0000 ``` ## ERC20 observation When we want to verify the network correctly observe cr...

(REP_WANT_TO_VB)


[style] ~28-~28: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...``` ## Gateway basic workflow When we want to verify the gateway basic workflow, the ...

(REP_WANT_TO_VB)


[style] ~46-~46: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...`` ## Gateway revert workflow When we want to verify the gateway revert workflow, the...

(REP_WANT_TO_VB)

🪛 Markdownlint (0.37.0)
e2e/TESTING_GUIDE.md

12-12: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


22-22: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


32-32: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


40-40: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


52-52: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


64-64: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


70-70: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


76-76: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


82-82: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


90-90: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

@lumtis lumtis added the no-changelog Skip changelog CI check label Dec 12, 2024
@lumtis lumtis added this pull request to the merge queue Dec 12, 2024
Merged via the queue into develop with commit 462fcea Dec 12, 2024
48 of 49 checks passed
@lumtis lumtis deleted the docs/e2e-tests-list branch December 12, 2024 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-changelog Skip changelog CI check
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants