Integration Tests
You can find the generated integration test report here.
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.
Integration Test for Use Case 1
A user would like to play a game on their BlastPad.
- Upon turning on the BlastPad the user is routed to the Homescreen.
- Upon pressing the "Code Editor" button the user is sent to the Blockly Code Editor.
- Upon Pressing the "Create New Game" button the user is able to manipulate blocks in the editor and save the game to storage.
Details
- Runs
Blockly Compiler / Game Compiles
unit test. - Runs
Blockly Compiler / Compiled Game Runs
unit test. - Passes if all tests pass.
Integration Test for Use Case 2
A user would like to develop a game using the BlastPad.
- Upon turning on the BlastPad the user is routed to the Homescreen.
- Upon pressing the "Code Editor" button the user is sent to the Blockly Code Editor.
- Upon Pressing the "Create New Game" button the user is able to manipulate blocks in the editor and save the game to storage.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Access Editor
unit test. - Runs
Blockly Compiler / Game Compiles
unit test. - Runs
Flask / Save Game
unit test. - Passes if all tests pass.
Integration Test for Use Case 3
A user would like to develop a game for the BlastPad with their laptop.
- Upon startup, the BlastPad starts the flask server.
- Upon connecting to blastpad.local:8000/editor, the user is presented with the editor.
- Upon pressing the "Save Game" button, the workspace is saved to the BlastPad.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Access Editor
unit test. - Runs
Blockly Compiler / Game Compiles
unit test. - Runs
Flask / Save Game
unit test. - Passes if all tests pass.
Integration Test for Use Case 4
A user’s Blockly code fails during compilation and they would like to view the error message in order to debug their blocks.
- Upon startup, the BlastPad starts the flask server.
- Upon connecting to blastpad.local:8000/editor, the user is presented with the editor.
- Upon pressing the "Save Game" button, the workspace is not saved and an error message is displayed.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Access Editor
unit test. - Runs
Blockly Compiler / Game Compiles
unit test. - Runs
Flask / Fail to Save Game
unit test. - Passes if all tests pass.
Integration Test for Use Case 5
A user would like to join a classroom from the BlastPad.
- Upon turning on the BlastPad the user is routed to the Homescreen.
- Upon pressing the "Settings" button the settings page is displayed.
- Upon pressing the "Join Classroom" button, the user is able to join a classroom.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Retrieve Games from a Classroom
unit test. - Passes if all tests pass.
Integration Test for Use Case 6
A user would like to view their classmate's games and play one.
- Upon turning on the BlastPad the user is routed to the Homescreen.
- Upon pressing the "Settings" button the settings page is displayed.
- Upon pressing the "Join Classroom" button, the user is able to join a classroom.
- Upon pressing the "Classroom" button, the user is able to view games in a classroom.
- Upon pressing the "Download Game" button, the user is able to download and play a game from the classroom.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Retrieve Games from a Classroom
unit test. - Runs
Flask / Download Game from Classroom
unit test. - Runs
Blockly Compiler / Game Compiles
unit test. - Runs
Blockly Compiler / Compiled Game Runs
unit test. - Passes if all tests pass.
Integration Test for Use Case 7
A user would like to upload a game to a Classroom
- Upon turning on the BlastPad the user is routed to the Homescreen.
- Upon pressing the "Settings" button the settings page is displayed.
- Upon pressing the "Join Classroom" button, the user is able to join a classroom.
- Upon pressing the "Share to Classroom" button, the user is able to share their game to a classroom.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Retrieve Games from a Classroom
unit test. - Runs
Flask / Upload Game to Classroom
unit test. - Passes if all tests pass.
Integration Test for Use Case 8
A user would like to view the games on the Community Hub and play one.
- Upon turning on the BlastPad the user is routed to the Homescreen.
- Upon pressing the "Community Hub" button, the user is able to join a classroom.
- Upon pressing the "Download Game" button, the user is able to download and play a game from the community hub.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Retrieve Games from the Community Hub
unit test. - Runs
Flask / Download Game from Community Hub
unit test. - Runs
Blockly Compiler / Game Compiles
unit test. - Runs
Blockly Compiler / Compiled Game Runs
unit test. - Passes if all tests pass.
Integration Test for Use Case 9
A user would like to upload a game to the Community Hub.
- Upon turning on the BlastPad the user is routed to the Homescreen.
- Upon pressing the "Share to Community Hub" button, the user is able to share their game to a community hub.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Retrieve Games from the Community Hub
unit test. - Runs
Flask / Upload Game to Community Hub
unit test. - Passes if all tests pass.
Integration Test for Use Case 10
A user/teacher would like to a create a classroom to host BlastPad projects for students
- Upon turning on the BlastPad the user is routed to the Homescreen.
- Upon pressing the "Settings" button the settings page is displayed.
- Upon pressing the "Create" tab, the create classroom dialog is displayed.
- Upon pressing the "Create Classroom" button, the user's classroom is added to the database of classrooms.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Saved Games
unit test. - Runs
Flask / Create Classroom
unit test. - Passes if all tests pass.
Integration Test for Use Case 11
A user would like to configure the WiFi for the BlastPad.
- Upon turning on the BlastPad the user is routed to the Homescreen
- Upon pressing the "Settings" button the user is sent to the settings page
- Upon pressing the "Wi-Fi" tab, the user is presented with the wifi configuration dialog.
- The user is shown a list of available networks on the configuration dialog.
- Upon selecting a network, the user is able to enter the network's password.
- Upon successfully entering the network's password, the BlastPad is connected to the network.
Details
- Runs
Flask / Access Home Screen
unit test. - Runs
Flask / Get Local Wifi Networks
unit test. - Passes if all tests pass.