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

Add base actions that can be run in e2e's #4641

Open
3 tasks
colin-axner opened this issue Sep 12, 2023 · 1 comment
Open
3 tasks

Add base actions that can be run in e2e's #4641

colin-axner opened this issue Sep 12, 2023 · 1 comment
Labels

Comments

@colin-axner
Copy link
Contributor

Summary

There are standard workflows that are used in our e2e's such as:

  • standard ics20 actions (transfer)
  • standard ics27 actions (register acc + ica tx wrapped with bank transfer)

We should offer functions which perform these actions so that code duplication is minimized

Problem Definition

In the genesis restart test I would like to:

actions := []interface{
    basicTransferAction, 
    basicICS27Action, 
    basicICS29Action,
}

for _, action := range actions {
    action()
}

haltAndExport()

for _, action := range actions {
    action()
}

Proposal

Currently, this is achieved by copy pasting code (as I did in #4640), but it'd be nice if this functionality could easily be reused. Add some construction for reusing basic application workflows in e2e's so that writing e2e's is like attaching legos


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@chatton
Copy link
Contributor

chatton commented Sep 13, 2023

I was thinking a bit about this, and think that it might also be a nice way to also replace our current logic for testing certain operations based on version.

Instead of placing FeatureRelease.IsSupported(version) we could filter out irrevelant test fns based on chain version pretty easily this way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Backlog 🕐
Development

No branches or pull requests

2 participants