Skip to content

ensure isIncluded criteria is checked thoroughly before updating #2062

@divine-comedian

Description

@divine-comedian

consider this scenario:

  1. cause owner adds some projects into a new cause
  2. project owner deactivates project -> isIncluded becomes false
  3. project owner removes polygon address
  4. project owner reactivates project
  5. project is still ineligible since it does not have a polygon address, isIncluded should still be false

in this scenario above the project owner can create multiple conditions where it would not be eligible for evaluation or distribution. if one condition is resolved we should still check if the other conditions are met before changing the status of isIncluded.

as a reminder, eligiblity for eval/distro includes:

  • has a polygon address
  • is verified
  • is active
  • is not cancelled

AC

there are several scenarios that should be tested against, applying each eligiblity criteria against all the others:

deactivated -> no polygon address

  1. cause owner adds some projects into a new cause
  2. project owner deactivates project -> isIncluded becomes false
  3. project owner removes polygon address
  4. project owner reactivates project
  5. project is still ineligible since it does not have a polygon address
  • isIncluded should still be false
  1. project owner adds polygon address
  • isIncluded becomes true

deactivated -> not verified

  1. cause owner adds some projects into a new cause
  2. project owner deactivates project -> isIncluded becomes false
  3. admin removes verified status of project
  4. project owner reactivates project
  5. project is still ineligible since it isn't verified
  • isIncluded should still be false
  1. admin verifies project
  • isIncluded becomes true

not verified -> deactivated

  1. cause owner adds some projects into a new cause
  2. admin removes verified status of project -> isIncluded becomes false
  3. project owner deactivates project
  4. admin restores verified status to project
  5. project is still ineligible since it is deactivated
  • isIncluded should still be false
  1. project owner reactivates project
  • isIncluded becomes true

not verified -> no polygon address

  1. cause owner adds some projects into a new cause
  2. admin removes verified status of project -> isIncluded becomes false
  3. project owner removes polygon address
  4. admin restores verified status to project
  5. project is still ineligible since it does not have a polygon address
  • isIncluded should still be false
  1. project owner adds polygon address
  • isIncluded becomes true

no polygon address -> not verified

  1. cause owner adds some projects into a new cause
  2. project owner removes polygon address -> isIncluded becomes false
  3. admin removes verified status of project
  4. project owner adds polygon address
  5. project is still ineligible since it isn't verified
  • isIncluded should still be false
  1. admin verifies project
  • isIncluded becomes true

no polygon address -> deactivated

  1. cause owner adds some projects into a new cause
  2. project owner removes polygon address -> isIncluded becomes false
  3. project owner deactivates project
  4. project owner adds polygon address
  5. project is still ineligible since it is deactivated
  • isIncluded should still be false
  1. project owner reactivates project
  • isIncluded becomes true

not verified -> cancelled

  1. cause owner adds some projects into a new cause
  2. admin removes verified status -> isIncluded becomes false
  3. admin cancels project
  4. admin uncancels project
  5. project is still ineligible since it is not verified
  • isIncluded should still be false
  1. admin verifies project
  • isIncluded becomes true

no polygon address -> cancelled

  1. cause owner adds some projects into a new cause
  2. project owner removes polygon address -> isIncluded becomes false
  3. admin cancels project
  4. admin uncancels project
  5. project is still ineligible since it does not have a polygon address
  • isIncluded should still be false
  1. project owner adds polygon address
  • isIncluded becomes true

deactivated -> cancelled

  1. cause owner adds some projects into a new cause
  2. project owner deactivates project -> isIncluded becomes false
  3. admin cancels project
  4. admin uncancels project
  5. project is still ineligible since it is deactivated
  • isIncluded should still be false
  1. project owner reactivates project
  • isIncluded becomes true

missing multiple requirements

  1. cause owner adds some projects into a new cause
  2. project owner deactivates project -> isIncluded becomes false
  3. admin removes verified status
  4. project owner removes polygon address
  5. project owner reactivates project
  6. admin re-verifies project
  7. project still missing polygon address
  • isIncluded should still be false
  1. project owner adds polygon address
  • isIncluded becomes true

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions