-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
User stories 1 and 2 completed (temporary solution to user story 4) #237
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall good test coverage, program works as expected and meets the checked requirements. However, formatting the output for better coherency is required, along with a README with instructions on how to operate the program.
|
||
class Peep | ||
def self.all | ||
if ENV['ENVIRONMENT'] == 'test' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There could be a method for this, in order to avoid repeating code!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good observation! If you hadn't commented on it yourself, I would have 😁
expect(page).to have_content "Yoyoyo!" | ||
expect(page).to have_content "http://www.google.com" | ||
end | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Always include a new line at the end of a code file!
@@ -0,0 +1,10 @@ | |||
feature 'Creating a new peep' do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test coverage is good, but the types of input (try invalids too?) aren't being tested. Only one type of input is being tested here...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good point. To make your application more robust, you'd want to make sure you caught invalid inputs and test that too. In the context of this challenge, it's a good enough feature test though :)
<button value="Submit" type="submit">Peep!</button> | ||
</form> | ||
|
||
<p><%= @all_peeps.join('/n') %></p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This wouldn't work - ('/n') would just show up as a string. Maybe "/n" (full quotation marks) would work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the HTML equivalent of a line break? That's the thing to research.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey Jordan,
Your code is very clean and readable and you've already made some great observations of your own about how you could improve it. I added a few more comments below.
I was wondering what led you to use the temporary solution to user story 4 -- were just not very keen to implement user story 3 or did you get blocked somewhere?
If you have any questions, just answer on here in the comments or DM me.
get '/test' do | ||
'Test page' | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's always a good idea to remove test code from code you submit for code review (anywhere, not just at Makers). Just keeps things clean and easy to follow.
|
||
class Peep | ||
def self.all | ||
if ENV['ENVIRONMENT'] == 'test' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good observation! If you hadn't commented on it yourself, I would have 😁
@@ -0,0 +1,10 @@ | |||
feature 'Creating a new peep' do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good point. To make your application more robust, you'd want to make sure you caught invalid inputs and test that too. In the context of this challenge, it's a good enough feature test though :)
expect(peeps).to include('New Peep 1!') | ||
expect(peeps).to include('Yoyoyo!') | ||
expect(peeps).to include('http://www.google.com') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you're using include
, this doesn't actually test that the peeps are in the right order.
<button value="Submit" type="submit">Peep!</button> | ||
</form> | ||
|
||
<p><%= @all_peeps.join('/n') %></p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the HTML equivalent of a line break? That's the thing to research.
|
||
describe '.all' do | ||
it 'returns all peeps in reverse chronological order' do | ||
connection = PG.connect(dbname: 'chitter_test') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you actually need this line?
end | ||
|
||
result = connection.exec "SELECT * FROM peeps" | ||
return result.map{ |elem| elem["message"]}.reverse |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can actually use the database query to sort the peeps in the right order and save the extra reversal step: https://www.postgresql.org/docs/current/queries-order.html
If you had a lot of peeps, this could improve perfomance quite a lot.
Your name
Jordan Markham
User stories
Please list which user stories you've implemented (delete the ones that don't apply).
README checklist
Does your README contains instructions for
Here is a pill that can help you write a great README!