Skip to content
This repository has been archived by the owner on Dec 13, 2019. It is now read-only.

[wallet-ui] Next features and test suites #1852

Open
25 of 39 tasks
joelalejandro opened this issue Jul 12, 2019 · 1 comment
Open
25 of 39 tasks

[wallet-ui] Next features and test suites #1852

joelalejandro opened this issue Jul 12, 2019 · 1 comment
Assignees
Labels
📦 Wallet UI code related to packages/wallet-ui
Milestone

Comments

@joelalejandro
Copy link
Contributor

joelalejandro commented Jul 12, 2019

After work on #1713, we should finish migrating some pending features from the Playground, that are relevant to the Wallet UI experience. Also, we should continue our testing efforts.

Features to add

  • Exchange screen
    • Deposit form: This is the same as the onboarding deposit flow, except there's no multisig deployment, it's just a regular deposit to a pre-existing multisig.
    • Withdraw form: This is the opposite of the deposit operations, it transfers funds from the CF account to the Ethereum wallet.
  • Node/Dapp-related events

Features to discuss

State channels screen

InVision: https://projects.invisionapp.com/share/9PQ8DASYM3W#/screens/361728445

The State channels screen shows a tree view containing three types of leaves: the Hub (aka simple-hub-server or connext), the User (a real person or a bot), and the Dapp itself.

  • We currently have an API that returns all state channel addresses. What's the best way to build a data source to accommodate the UI?

There are some actions a user can perform:

  • Launch: A user can re-open a Dapp if it has a state channel open with it.
    • How do we know what's its URL? Where do we store that information?
  • Debug: An advanced user (such as a developer) could want to inspect the state of the channel.
    • Should we render the output of a GET_STATE operation here?
    • What data is relevant to show? How can we arrange it properly?
    • Should this be our own version of an "inspector" feature?
  • Uninstall: A user can end the state channel by uninstalling it, triggering the UNINSTALL operation.

Testing

Learning from previous mistakes, we're building tests for every component and looking into integration flows. Now that we're working with React, we have better-supported tools to do this. With this in mind, we can resume the PoC we did a couple of months ago with the WebDriver that auto-configures the Metamask extension, allowing us to test a dapp interacting with our Wallet.

This list will change as we analyze in more detail what we need to test.

Test suites

By component/module

  • Root-level App component
  • UI components
    • AccountContext
    • ChannelNode
    • ChannelTree
    • FormButton
    • FormInput
    • LayoutHeader
    • WidgetCard
    • WidgetErrorMessage
    • WidgetHeader
    • WidgetLogo
    • WidgetScreen
    • WidgetTooltip
  • Pages
    • Welcome
    • Account registration
    • Deposit (onboarding)
    • Channels
  • Store modules
    • Channels
    • User
    • Wallet
  • Utils
  • Hub API Client

By scenario

@joelalejandro joelalejandro added the 📦 Wallet UI code related to packages/wallet-ui label Jul 12, 2019
@joelalejandro
Copy link
Contributor Author

joelalejandro commented Jul 12, 2019

@snario @ebryn @cf19drofxots @IIIIllllIIIIllllIIIIllllIIIIllllIIIIll @patience-tema-baron @Alonski - Would appreciate your feedback for the questions we have under the "Features to discuss" section.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
📦 Wallet UI code related to packages/wallet-ui
Projects
None yet
Development

No branches or pull requests

2 participants