Basic RPS program - JM - #257
Conversation
HanzAkor
left a comment
There was a problem hiding this comment.
Beautiful application. Works really well. Just add more tests to cover every possible scenario.
| erb(:result) | ||
| end | ||
|
|
||
| def pick_winner(player, opponent) |
There was a problem hiding this comment.
Nested if statement could be optimised better. Maybe use a hash.
Also, put this in a class file and instantiate in the app file to keep it more tidy.
| scenario "When I select 'Rock', I will lose if the machine selects 'Paper'" do | ||
| allow_any_instance_of(@opponent_choice).to receive(:sample).and_return(:paper) | ||
| visit '/' | ||
| fill_in('name', with: 'Jordan') |
There was a problem hiding this comment.
Add a web_helpers page where you can create a separate method and call it here, to keep the test more tidy and avoid repeating too many lines.
|
|
||
| <h2>You picked <%= @user_choice %>, and your opponent picked <%= @opponent_choice %></h2> | ||
|
|
||
| <form action="/" method="get"> |
There was a problem hiding this comment.
Redirect to the game and keep the user's name so that they don't need to keep entering it again.
Enabling sessions will help with this:
https://github.com/makersacademy/course/blob/main/apprenticeships_intro_to_the_web/walkthroughs/post_redirect_get_pattern.md
Basic Rock, Paper, Scissors program - quite limited testing, but it works properly!