Integration Tests
Tests to demonstrate each use-case based on the use-case descriptions and the sequence diagrams. External input should be provided via mock objects and results verified via mock objects. Integration tests should not require manual entry of data nor require manual interpretation of results.
Test Case ID | Test Case Objective | Test Case Description | Expected Value |
---|---|---|---|
1 | Test if owner successful adds bot into the server. Test that all the guidelines, roles, and settings of server are configured and saved correctly. |
| Assert that actions taken by owner are successful and expected settings are configured and saved correctly Overall bot should be successfully configured in the server |
2 | Test if WhatchaDoin bot successfully prompted user Test If user responded, If bot got user response and if it is sent to the moderator Test If user can get approval status from WhatchaDoin bot |
| Assert that moderator receive user’s response for review Discord user receives approval status or feedback from WhatchaDoin bot within reasonable time |
3 | Test that the bot is able to wait for the user until timeout That the bot will send a notification to remind user after timeout time That the bot can recognize the user’s failure to respond, and if it can successfully send a reminder notification to users about the missed prompt |
| Asserts that the bot can send a notification to users after confirming that the user failed to respond to the prompt in a certain time frame Confirm that the bot can recognize the user’s failure to respond |
4 | Test that the bot can receive message from moderator That the bot can post the image with caption and notify the user Bot can log emoji reactions, threaded replies, and comments from the community |
| Assert that the bot successfully receives approval decision Bot can post approved image with caption and notify user Bot can correctly log emoji reactions, threaded replies, and comments and can send logs to the server |
5 | Test that a notification with feedback and tells the user to resubmit is sent to user if their post was denied That the user is able to resubmit their image If they receive a notification that the post was approved and posted |
| Assert that the user indeed received a notification with feedback and is able to resubmit image That the user received a notification that their post was approved and posted |
6 | Test that users are able to receive notifications when other users have posted a response to a prompt That the notifications take users to the post are they able to view the response of other users in the server That the user is able to leave comments and reactions to posts |
| Asserts that the user can receive notification when others post, as well as the notification being able to take users to the correct post Comments and reactions that the user posts are saved on other user’s posts |
7 | Test that the user can use settings of the bot and can successfully choose the option to turn off new post notifications |
| Assert that the user is able to turn off new post notifications of the bot, and that the user no longer receives those notifications |
8 | Test that the moderator can log into Discord, is able to run a command to request data in csv format, and is able to export reaction data for further analysis That the moderator can run a command to see reaction data, as well as being able to receive data visualizations from the bot | Main Testing Flow
Alternate Testing Flow
| Assert that the moderator can log in and run a command to request data in csv format The moderator can successfully export reaction data The moderator can run a command to see reaction data and is able to receive data visualizations from the bot |
9 | Test that the moderator is able to receive notifications about a user’s submission and that the moderator can successfully mark submissions as “Approved” or “Denied” to the bot |
| Asserts that the moderator can receive notifications from users and is able to approve or deny submissions Confirms that moderators can mark submissions as “Approved” or “Denied” to the bot |
10 | Test that the bot can recognize bad behavior within the community That the bot can send a warning notification to the user about bad behavior That the bot can notify the moderator about the bad behavior and ask if they want the moderator to add the user to the blacklist That the bot can add the user to the blacklist themselves if the user continues the bad behavior, the bot should be able to log this action |
| Asserts that the bot can recognize bad behavior within the community The bot can successfully send a warning notification to the user about bad behavior The bot is able to notify the moderator and ask if the moderator wants to add the user to the blacklist The bot itself will be able to successfully add a user to the blacklist in the behavior continues and will log this action |
11 | Test that the moderator can choose not to add the user to the blacklist The moderator can view the blacklist and remove users from the blacklist The moderator can run a command to remove a user from the blacklist, and make sure that the user is no longer on the blacklist | Main Testing Flow
Alternative Testing Flow
| Assert that the moderator can choose not to add a user to the blacklist, can view the blacklist as well as remove users from the blacklist Can successfully run a command to remove a user from the blacklist and make sure the user is no longer on the blacklist |