Skip to content

Latest commit

 

History

History
123 lines (102 loc) · 4.88 KB

TESTING.md

File metadata and controls

123 lines (102 loc) · 4.88 KB

Profile

Testing procedures for profile.

Bot options

  • Allow users to enable "advanced" mode.
    • This will increase the prompt limit to 1000 characters for fields. This will allow users to input commands, and multi-fields.
    • This will allow users to input text for their archive and verification channels; up to 1000 characters. This will allow users to input commands.

Templates

Creation and deletion

  • Users can create a template (/template create).
    • The bot will check that the given name is not already in use.
    • The bot will check that the maximum number of templates has not been exceeded.
  • Users can edit a template (/template edit).
  • Users can delete a template (/template delete).
    • The template will be marked as deleted.
    • All associated profiles will be marked as deleted.
  • Users can see the list of templates (/template list).

Base editing

  • The name on a template can be changed.
  • The archive channel can be changed.
  • The archive channel can be removed.
  • The verification channel can be changed.
  • The verification channel can be removed.
  • The given role can be changed.
  • The given role can be removed.
  • A slash command can be added/updated.
    • If the max number of profiles is 0 when this is run, the slash command is deleted.
  • A context menu command can be added/updated/removed.
  • A maximum number of profiles can be set.

Field editing

  • A field can be added.
  • A field can be renamed.
    • The name can be in use multiple times.
  • A field prompt can be set.
  • A field type can be set.
    • Only one image field is allowed.
  • A field can be made optional/required.
  • A field can be deleted.

Profiles

Creation and deletion

  • Users can create a profile (/profile create).
    • The bot will check that the given name is not already in use.
    • The bot will check that the maximum number of profiles has not been exceeded.
  • Users can edit a profile (/profile edit).
  • Users can delete a profile (/profile delete).
  • Users can see profiles (/profile get).

Base editing

  • A profile needs to be a draft to be edited.
    • If a profile is not a draft, the user is asked to convert it to one.
    • When a profile is converted to a draft, the sent messages (either to the verification or archive channel) are deleted.
  • The name on a profile can be changed.
    • The bot will check that the given name is not already in use.
  • A profile can be submitted.
    • The bot will check that the maximum number of profiles has not been exceeded.

Field editing

  • All fields added to the template can be set.
    • The fields must have valid values as per their type.
    • Optional fields do not need to be filled, and can be cleared.
    • Fields with a command set should not be filled.
    • If a multi-field is created, each line of the prompt should be added to a modal.

Submission

  • If a template has a verification channel, a profile must be verified before it is sent to the archive channel.
  • If there is no verification channel but there is an archive channel, the profile is sent to the archive channel without being checked.
    • The associated role (if present) is added to the user.
  • If there are neither, the profile is just marked as both submitted and verified.
    • The associated role (if present) is added to the user.

Verification

  • When a profile is sent to the verification channel, an "approve" and "deny" button are both added to the associated profile.
  • If the approve button is pressed,
    • the message is deleted,
    • the profile is sent to the archive channel (if one is set),
    • and the user is sent a DM saying their profile was verified.
    • The profile is marked as verified.
    • The associated role (if present) is added to the user.
    • The moderator, profile JSON dump, and time are logged into the database.
  • If the deny button is pressed,
    • the moderator is asked for a reason.
    • After a reason is given, the message is deleted,
    • and the user is sent a DM saying their profile was denied,
    • along with the reason.
    • The profile is converted back to a draft.
    • The moderator, profile JSON dump, time, and reason are logged into the database.