DCAS handbook

How to test in manual mode

  • ofc it is better to have these tests automated;
  • tests are written w/ vanilla client in mind;

Basics

  • Log in into existing account:
    • Login should be successful;
    • Servers & channels should be available;
    • There should be members on right sidebar visible;
    • We’ll refer to this account as main;
  • Register new account:
    • (automatic) Login should be successful;
    • We’ll refer to this account as alt;
  • Create new server from alt:
    • It should be successfult;
    • Server should contain main and voice channels;
  • Create invite from alt account:
    • Invite link should appear;
    • Invite link should be in form of http://localhost:9000/invite/{numbers and letters}
  • Join this invite from main account:
    • Main should be able to successfully join and see the channels;
    • Alt should see main in members list;
  • Send random text message from main account:
    • Alt should see typing indicator;
    • Message should be delivered to both accounts;
  • Edit sent message;
  • Delete sent message;

Message content

TBD

  • Post a reply to acc.B w/ enabled ping, message should ping twice the following participants: acc.A, acc.B, @everyone, @here, acc.A’s role;
  • Repeat this step in TG->DC bridge;

TBD

Interactions (aka slash-commands)

TBD

Relations

  • Send friend request via friend login;
  • Accept friend request;
  • Remove friend;
  • Ban acc B, try to add friend from acc B;
  • Lift ban;

DM/GDM

  • Create dm channel by pressing a “chat” button on friend;
  • Create gdm channel w/ zero users;
  • Invite user to gdm channel;

Voice

  • Have two logged-in accounts on the same guild;
  • Join VC from account A:
    • acc.A should join successfully;
    • acc.B should see acc.A in VC;
  • Toggle microphone from account A:
    • both accounts should see the change;
  • Join VC from account B:
    • acc.B should join successfully;
    • acc.A should see acc.B in VC;
  • Try to say smth from any acc;
    • you should hear the echo;
  • Leave VC from account B:
    • both accounts should see the change;
  • Join one VC then try to switch to another in the same guild:
    • this account should join VC successfully;
    • both accounts should see the change;
  • Try to switch to VC in the other guild;
    • both accounts should see the user left VC on one guild;
    • both accounts should see the user joined VC on the other guild;

TODO: permissions checks