Joystream / Joystream/joystream

Giza integration tests: Joystream CLI: Curator groups flow

Open
#2,836 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

CLI estimate-9h giza network-integration-test qn-hydra-board query-node to-triage
Dominant language
Rust
Stars
1.4k
Forks
116
PR merge metrics
No merged PRs in 30d

Description

Input parameters:

  • Tc - total number of curators to hire
  • Tg - total number of groups to create
  • Fg - final number of groups
  • Ta - total number of groups to update to status active
  • Fa - final number of groups that should stay active
  • Tm - total number of members to add to each group
  • Fm - final number of members in each group

Preconditions:

  • A running Joystream node
  • A running query node
  • Curator lead is hired

Post-execution state:

  • There are Fg new curator groups, Fa of them are active, each group has Fm members

Constraints:

  • Tm <= Tc <= Tg * Tm
  • 0 < Fg < Tg
  • 0 < Fa < Ta
  • 0 < Fm < Tm
  • Ta <= Tg

Optimistic flow:

  • Hire Tc curators (via a fixture)
  • Create Tg curator groups
  • Verify the output of content:curatorGroups: confirm there are Tg inactive, empty groups
  • Verify the output content:curatorGroup for each group: confirm empty, inactive group
  • Activate Ta curator groups (via setCuratorGroupStatus)
  • Deactivate Ta - Fa curator groups (via setCuratorGroupStatus)
  • Add Tm curators to each group
  • Verify the output of content:curatorGroups: confirm groups statuses and member counts are valid
  • Verify the output content:curatorGroup for each group: confirm group status and members are valid
  • Remove Tm - Fm curators from each group
  • Verify the output of content:curatorGroups: confirm member counts are updated
  • Verify the output content:curatorGroup for each group: confirm members are updated
  • Verify final state (F) against query node

Possible additional failure cases to include:

  • Create a group using non-lead key: expect exit code 405 - AccessDenied
  • Execute content:curatorGroup with invalid group id: expect exit code 400 - InvalidInput
  • Add curator to a group using non-lead key: expect exit code 405 - AccessDenied
  • Add cutator to non-existing group: expect exit code 400 - InvalidInput
  • Add non-existing curator to a group: expect exit code 400 - InvalidInput
  • Remove curator from a group using non-lead key: expect exit code 405 - AccessDenied
  • Remove a curator from a group it doesn't belong to: expect exit code 400 - InvalidInput

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Giza integration-test entry point for the Joystream CLI and the fixture that hires curators. Exercise content:curatorGroups and content:curatorGroup around setCuratorGroupStatus, checking group status and member counts after each step. Done means the optimistic flow and listed failure cases produce the expected states, exit codes, and query-node final state.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain, cli, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.