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.
Use Case 1
- Description: User wants to learn proper code etiquette to become a better coder
- Assertion: User should be able to ask ChatGPT questions about their coding style and suggestions to improve it
Use Case 2
- Description: User wants to have a source of knowledge that they can consulte
- Assertion: User should be able to ask ChatGPT questions of various kinds about their code which would resemble another person's critique
Use Case 3
- Description: User wants to start an iterative dialogue to receive instant feedback on potential isses of their code
- Assertion: ChatGPT should be able to review a user's code and give explainations on the feedback on a commit
Use Case 4
- Description: User wants guidance in fixing problems in their code
- Assertion: ChatGPT should be able to point out flaws in user's code and guide user towards solution, not outright give an answer to problems
Use Case 5
- Description: User wants to have reassurance that their code is ready to be pushed or have a pull request opened
- Assertion: User should be able to ask ChatGPT for critical feedback until ChatGPT cannot find anything or the user is satisfied
Use Case 6
- Description: User wants assistance in organizing and tidying up their code
- Assertion: ChatGPT suggests to the user different ways in which their code could be standardized such as naming conventions, use of functions, etc.
Use Case 7
- Description: User wants to see how an AI would understand their code by having a dialogue with ChatGPT
- Assertion: User should be able to ask ChatGPT questions about their code in a manner that resembles a real conversation between two people