By Developers, For Developers
| PDF Pg | Paper Pg | Type | Description | Fixed on | Comments | ||
|---|---|---|---|---|---|---|---|
| 21 | ERROR | task.complete! should be mark_completed | 2014-06-28 | ||||
| 23 | TYPO | one complete test and at least one incomplete test. .. should be | 2014-06-28 | ||||
| 68 | TYPO | Need to change POINT_RANGE to VALID_POINT_RANGE: VALID_POINT_RANGE = 1 .. 5 | 2014-06-28 | ||||
| 21 | ERROR | There is a method name mismatch between the test and the model. In the test (project_test.rb) you call task.complete! but you define #mark_completed in the Task model. The test don’t pass due to the undefined method #complete! | 2014-06-28 | ||||
| 23 | TYPO | After the block of code. Correct is: | 2014-06-28 | ||||
| 27 | TYPO | In the penultimate paragraph you reference two times a #complete! method. The correct name of the method is #mark_completed. | 2014-06-28 | ||||
| 30 | ERROR | Line 14 & 16 call #due_date from the Project class. This method don’t exist and is not created in basics/06/gatherer/app/models/project.rb. An attr_accessor :due_date must be added. | 2014-06-28 | ||||
| 12 | TYPO | “As it happens, the hallmark of easy to change code code is small methods that do one thing, are loosely coupled, and have minimal side effects.” Duplication of word “code”. | 2014-06-28 | ||||
| 37 | TYPO | In the test description on line 4: | 2014-06-28 | ||||
| 23 | TYPO | I believe the first paragraph: “Given: What data does the test need? This test needs a project, at least one complete test and at least one incomplete test.” should read: “Given: What data does the test need? This test needs a project, at least one complete task and at least one incomplete task.” | 2014-06-28 | ||||
| 31 | TYPO | “I’ve set up a test where a project has two complete tasks and one incomplete task” should read: “I’ve set up a test where a project has one complete task and two incomplete tasks” | 2014-06-28 | ||||
| 24 | ERROR | In basics/04/gatherer/app/models/task.rb, class Task is missing: attr_accessor :completed | 2014-06-28 | ||||
| 76 | 69 | TYPO | Must should be “Most” “Must of those attempts eventually wind up in a tangle of special case logic because each controller is actually going to eventually need to have different features.” | 2014-06-28 | |||
| 53 | TYPO | End of sentence missing. Sentence: “So if we go off and redesign this page using more modern markup, as long as the size element is subordinate to the project element.” should maybe read: “So if we go off and redesign this page using more modern markup, as long as the size element is subordinate to the project element, the test will pass.” | 2014-06-28 | ||||
| 38 | TYPO | “then clicking on a button labeled Submit”. Actually in the test code on page 37, the button is labeled “Create Project” | 2014-06-28 | ||||
| 42 | TYPO | Last word on the page: “mange”, should be “manage”. | 2014-06-28 | ||||
| 43 | OK | self.project = Project.new(name: name) | 2014-06-28 | This works because `name` is an attr_accessor | |||
| 22 | TYPO | actual: “Which then passes with a by adding …” expected (for example): “Which then passes by adding …” | 2014-07-04 | ||||
| 22 | TYPO | “I can’t think of a an easy …” should be “I can’t think of an easy …” | 2014-07-04 | ||||
| 23 | TYPO | “For reasons that will be clear in a moment, we’ll starting …” | 2014-07-04 | ||||
| 27 | TYPO | “I don’t think we need to walk though …” | 2014-07-04 | ||||
| 28 | TYPO | “The resulting Test class looks like this:” | 2014-07-04 | ||||
| 30 | TYPO | “The algebraic version clearer …” | 2014-07-04 | ||||
| 31 | TYPO | The closing parenthesis for the remark starting “(although one reviewer did suggest turning …” is missing. | 2014-07-04 | ||||
| 45 | SUGGEST | I’m on chapter 3 of the book. I added the capybara gem to my solution, but when I run the first integration test, instead of getting the error: AddProjectTest#test_a_user_can_add_a_a_project_and_give_it_tasks: I getting the error:NameError: uninitialized constant Capybara I guess some further Capybara configuration needs to be done? | 2014-07-06 | ||||
| 87 | TYPO | gem install ‘factory_girl_rails’ Must be: gem ‘factory_girl_rails’ | 2014-07-04 | ||||
| 89 | TYPO | due_date { Date.today - rand(50) Must be: due_date { Date.today - rand(50)} | 2014-07-04 | ||||
| 49 | TYPO | media.pragprog.com/titles/nrtest2/code/basics/02/gatherer/test/models/task_test.rb In the book it says: This results in an error if you run rake task:all at the end of the chapter: PDF page number may be inaccurate due to the fact I’m reading it in iBooks and depending on the screen size it gives a different page number. But it is in in the “The Second Test” chapter starting on page 46. Only a few pages in. | 2014-09-16 | ||||
| 74 | TYPO | location: Line 4 Should be Issue: Another one is on the same page where it says: Should be: Issue: Page numbers do not match up since I’m using iBooks and it gives a different page number based on how big or small I make the book. | 2014-09-16 | ||||
| 126 | TYPO | ‘and’ is written twice: | 2014-09-16 | ||||
| 150 | TYPO | In section “What’s a Spec?” there appears to be a couple of words missing.
| 2014-09-16 | ||||
| 155 | TYPO | Missing end quote in code example: pending "not implemented yet | 2014-09-16 | ||||
| 159 | TYPO | * Text reads: “… Rspec looks, at first glance, different that typical Ruby…” | 2014-09-16 | ||||
| 170 | TYPO | missing end quote in code sample | 2014-09-16 | ||||
| 44 | TYPO | their/there grammar error: Reads: “… and if their isn’t much logic …” | 2014-09-16 | ||||
| 150 | TYPO | In section “What’s a Spec?” there appears to be a couple of words missing.
Correction to issue #77087 (s/expectations/examples) | 2014-09-16 | ||||
| 181 | SUGGEST | Should the sentence that reads “An entire suite of unit tests is like a house that’s all frame - overbuilt”, read “An entire suite of integration tests …” or even better, “An entire suite of integration tests acting as unit tests …”? On the previous page the author made the analogy of integration tests being the frame of a house, and the point of this paragraph seems to be warning against over using integration tests where unit tests would be more appropriate. | 2014-09-16 | ||||
| 183 | TYPO | Sentence containing “… that I’ve been ignoring up to know … ” should probably read “… that I’ve been ignoring up to now …” | 2014-09-16 | ||||
| 187 | TYPO | Shouldn’t sentence that reads “If you want an exact match rather than a substring match, then pass the option exact: false to any Capybara method that uses a locator.” be “If you want an exact match rather than a substring match, then pass the option exact: true to any Capybara method that uses a locator.” | 2014-09-16 | ||||
| 183 | SUGGEST | Walking through the steps of the outside-in diagram the author states: “In a reasonably mature Rails application, the first few steps will often already pass.” This seems to contradict the outside-in, test-first principles, which if followed would mean that the integration tests would be written before the code. | 2014-09-16 | ||||
| 192 | SUGGEST | Author states: “… that doesn’t need a test, as such, because it’s really part of the framework.” This is a great point that probably deserves to be emphasized more. If you’re writing tests just to validate that the framework is doing its job, you’re probably wasting your time, and duplicating tests that exist in the Rails source code. | 2014-09-16 | ||||
| 197 | SUGGEST | Author states: “[Cucumber] allows me the option to describe the intended behavior of the system without using the code part of my brain at all…” — This is an excellent point that deserves emphasis, especially how it relates to the outside-in BDD process. | 2014-09-16 | ||||
| 198 | SUGGEST | The when/and/then/and/when/then/and chain feels like it’s lumping too many things together and ought to be broken into multiple scenarios. | 2014-09-16 | ||||
| 199 | SUGGEST | When describing the cuke keywords (‘Given’, ‘When’, ‘Then’, …), the author mentions ‘And’ and ‘But’, but doesn’t explain what they do. For those unfamiliar with Cucumber this might be confusing. | 2014-09-16 | ||||
| 20-22 | SUGGEST | The choice not to use Active Record models here seems odd. Yes, not all Rails model objects use Active Record, but that’s the norm and seems like it should be the default place to start. It’s leading to some very un-Rails behavior in the code like using accessors and Arrays, rather than the AR associations that one would normally use to link models. The author does make note of this, and provides reasons for this choice, but it still feels wrong and distracting. | 2014-09-16 | ||||
| 26 | SUGGEST | Perhaps it’s just left over emotional scaring from my Java days, but rather than leave the value of @completed nil, I would explicitly set it to false when absent from the options passed to the initializer: @completed = options[:completed] || false | 2014-09-16 | ||||
| 28 | ERROR | The author states we “… use the setup method, which is part of ActiveSupport …” The #setup method is part of Minitest::Test itself, not ActiveSupport, right? (I double checked the source on Github to make sure.) Perhaps the author was referring to additional functionality that Rails adds to #setup, but this sentence as it stands makes it sound like standard Minitest lacks the method entirely, which is not the case. | 2014-09-16 | ||||
| 42 | SUGGEST | Wondering if there was a reason the author chose to use a one line if-then-else clause instead of the ternary operator, which seems like more idiomatic ruby to me. Current: if counts_toward_velocity? then size else 0 Suggested counts_toward_velocity? ? size : 0 | 2014-09-16 | ||||
| 44 | SUGGEST | Regarding the text area for tasks, I’m wondering why this isn’t split up into separate fields for the task data, rather than having to do all this “faking” and parsing. | 2014-09-16 | ||||
| 58 | SUGGEST | I like the SWIFT mnemonic. Surprised the authro didn’t reinforce it with more callbacks throughout out the rest of book. | 2014-09-16 | ||||
| 13 | TYPO | second sentence, extra space, says “The tas k is”, should be “The task is” | 2014-09-16 | ||||
| 15 | 4 | TYPO | Awkward sentence near the top of the page: “This is a key part of design happens, so don’t skip this.” | 2014-09-16 | |||
| 18 | 7 | SUGGEST | The paragraph about “blank page problems” in the middle of the page could be stronger. Particularly, explain what you mean by “and so on, and so on.” This is probably very difficult for a novice to understand. | 2014-09-16 | |||
| 47 | OK | You say “If you run the tests now, they should still all pass (except…” but the tests fail because they haven’t built a relationship between the project and tasks. The task project_ids are nil. | 2014-11-14 | I can't replicate this. | |||
| 47 | SUGGEST | I cannot find a way to delete my previous incorrect report for this page. Please accept my apology for wrongly suggesting that the tests would not pass. My mistake. | 2014-11-14 | ||||
| 16 | TYPO | “with no test to be done” should presumably be “with no task to be done” (the same text appears in the reports of the runs, of course). | 2014-11-14 | ||||
| 17 | TYPO | ‘specifyin’ should be ‘specifying’ | 2014-11-14 | ||||
| 17 | TYPO | Missing word: ‘The RSpec docs and code refer to the elements of RSpec as .’. Refer to them as what? | 2014-11-14 | ||||
| 20 | TYPO | “Usually these files will just contain these epics” - presumably “epics” should be “specs”. | 2014-11-14 | ||||
| 28 | ERROR | In the code ‘expect(actual).to match([an_object_eq_to(5), an_object_eq_to(7)’, ‘])’ is missing from the end. | 2014-11-14 | ||||
| 29 | TYPO | The link to the rspec matchers documentation is wrong: rubydoc.info/github/rspec/rspec-expectations/RSpec/Matchers goes to “Oops, We Couldn’t Find That GitHub Project” | 2014-11-14 | ||||
| 59 | SUGGEST | In ‘Testing for Failure’ the production code is written first, then the test that would pass on the first run. Should we not write the test first, see it fail first, then write the validation into the model? | 2014-11-14 | ||||
| 59 | SUGGEST | Update to my suggestion oh I guess the failing test is the one about what the controller does based on the validation, still i would hold off on writing the production code without a failing test. the book says that a failing test is the only reason to make changes to the production code | 2014-11-14 | ||||
| 17 | TYPO | The kind of tests written in a TDD process are is not a substitute | 2014-11-14 | ||||
| 25 | SUGGEST | If you are not familiar with Rails, Agile Web Development [Since your book uses Rails 4, shouldn’t this be a reference to “Agile Web Development with Rails 4” (note the “4” in the title of the book) — by Sam Ruby (sole author), published 2013?] | 2014-11-14 | Awaiting a bilbliography entry | |||
| 26 | TYPO | Sometimes, rspec and rspec rails are updated separately | 2014-11-14 | ||||
| 27 | TYPO | it “considers a project with no test to be done” do | 2014-11-14 | ||||
| 30 | TYPO | Figure 1—RSpec Matcher Execution | 2014-11-14 | ||||
| 89 | TYPO | 6th paragraph: | 2014-11-14 | ||||
| 33 | TYPO | “Rollback or delete the fixtures as described earlier The result of each example” | 2014-11-14 | ||||
| 33 | TYPO | “and if we run things, we fail pretty quickly Here’s the slightly edited” | 2014-11-14 | ||||
| 34 | TYPO | “There’s also the teaching way, which somewhere in-between, and” | 2014-11-14 | ||||
| 36 | TYPO | (first line of basics_rspec/02/gatherer/spec/models/project_spec.rb) | 2014-11-14 | ||||
| 44 | OK | (code basics_rspec/05/gatherer/app/models/project.rb) | 2014-11-14 | ||||
| 51 | TYPO | Task#counts_toward_velocity | 2014-11-14 | ||||
| 46 | SUGGEST | Should Task#part_of_velocity? really be part of the exposed interface for Task? The Project class doesn’t use it; it could be a private method of Task. The specs in basics_rspec/07/gatherer/spec/models/task_spec.rb would be simpler if they just checked that the Task#points_toward_velocity matched the expected value, since that’s all the Project class does. | 2014-11-14 | ||||
| 53 | TYPO | an entire book by itself.(Specifically, this one | 2014-11-14 | ||||
| 56 | TYPO | #anyting | 2014-11-14 | ||||
| 55 | TYPO | “breaking it out into it’s own method that parses a single string” | 2014-11-14 | ||||
| 56 | TYPO | “Each individual test case is now it’s own describe.” | 2014-11-14 | ||||
| 70 | TYPO | “Three classic causes of repeatability problems are […]. In both cases,” | 2014-11-14 | ||||
| 70 | TYPO | “Sometimes called Heisnebugs, Heisnspecs,” | 2014-11-14 | ||||
| 75 | TYPO | “a separate layer of code, with it’s own responsibilities” | 2014-11-14 | ||||
| 79 | TYPO | validates :size, numericality: {less_than: 5} | 2014-11-14 | ||||
| 83 | TYPO | “For example, when we created a new project we asserted that the project existed, and also asserted that it had a specific relationship with newly created tests.” | 2014-11-14 | ||||
| 91 | TYPO | “Normally, custom matchers are placed in the spec/support folder is automatically imported when RSpec starts.” | 2014-11-14 | ||||
| 29 | TYPO | In the sentence, “Similarly, if the predicate method starts with has, RSpec allows your matcher to start with have for readability so your tests don’t look like they have been written by LOLCats…”, “have” should be printed in the same typeface as “has”. | 2014-11-14 | ||||
| 121 | TYPO | “allowing the stub to be declared the the “the” should be “in”? | 2014-11-14 | ||||
| 35 | TYPO | A test completed in the last three weeks counts toward velocity, which implies two negative cases: should be: A task completed in the last three weeks counts toward velocity, which implies two negative cases: | 2014-11-14 | ||||
| 35 | OK | Shouldn’t it better if the description: it “does not count a long ago task toward velocity” do is it “does not count a task completed long time ago towards velocity” | 2014-11-14 | ||||
| 91 | SUGGEST | By default in rails_helper.rb I had this line hashed: #Dir[Rails.root.join(“spec/support//*.rb”)].each { |f| require f } when I add to task_spec.rb this line: it_should_behave_like “sizeable” I had: No tests were found Adding information about potential need to activate scanning spec/support directory can help sometimes. Regard | 2014-11-14 | ||||
| 65 | TYPO | In test_first_rspec/05/gatherer/app/views/projects/index.html.erb there is a , in: <tr class=“project-row”, id=“<%= dom_id(project) %>”> . This in not a valid HTML in result. | 2014-11-14 | ||||
| 48 | SUGGEST | Instead of changing the project model, wouldn’t it be better to run the tests and add functionality as and when needed? | 2014-11-14 | ||||
| 49 | SUGGEST | Shouldn’t the belongs_to be added to the task model? | 2014-11-14 | ||||
| 53 | TYPO | it “handles a multiple tasks” do should be it “handles multiple tasks” do | 2014-11-14 | ||||
| 64 | SUGGEST | In the new view test using the have_selector there are two assertions that we test against hardcoded values for the title and the size. Since we have the instance variable @project, would it be better to test against that? So wouldn’t it be better to replace: expect(page).to have_selector(“#project#{@project.id} .name“, text: ‘Project Runway’) with expect(page).to have_selector(“#project_#{@project.id} .name”, text: ’ | 2014-11-14 | No, I prefer not to have all the parts of the expectation be calculated from code if I can avoid it, it's easier to debug with the hardcoded expected value and it's also less likely to be tautological | |||
| 71 | TYPO | First you unit test the steam class to verify that the class works as expected. should be First you unit test the stream class to verify that the class works as expected. | 2014-11-14 | ||||
| 85 | TYPO | That said, when you are writing tests are actually ifferent in that they cover, … should be That said, when you are writing tests that are actually different in that they cover, .. | 2014-11-14 | ||||
| 91 | OK | It’s a little contrived, but work with me. should be: It’s a little contrived, but works with me. | 2014-11-14 | ||||
| 90 | OK | it knows a one point story is small should be it knows an one point story is small | 2014-11-14 | ||||
| 91 | SUGGEST | According to the ‘Conventions’ documentation of RSpec, when having a lot of shared exampels, custom matchers is better to include the individual files needed instead of loading all the files from the spec/support directory. require ‘support/size_group’ | 2014-11-14 | ||||
| 91 | SUGGEST | Since we use a shared example, but there is only an example how to use it for the tasks, shouldn’t it better to provide an example of how can it be used from the projects too? | 2014-11-14 | ||||
| 133 | OK | Hi, | 2014-11-14 | Can't reproduce | |||
| 100 | TYPO | And the end of each individual test, the transaction is rolled should be: At the end of each individual test, the transaction is rolled back, restoring the initial state very quickly. | 2014-11-14 | ||||
| 124 | SUGGEST | Older ruby syntax used: Project.new(:name => “Project Greenlight”) should be: Project.new(name: ‘Project Greenlight’) | 2014-11-14 | ||||
| 125 | SUGGEST | Older ruby syntax used: Project.new(:name => “Project Greenlight”) should be: Project.new(name: ‘Project Greenlight’) | 2014-11-14 | ||||
| 127 | SUGGEST | Older ruby syntax used: Project.new(:name => “Project Greenlight”) should be: Project.new(name: ‘Project Greenlight’) | 2014-11-14 | ||||
| 128 | SUGGEST | Older Ruby syntax used: :project => {:name => ‘Project Runway’} should be: project: {name: ‘Project Runway’} | 2014-11-14 | ||||
| 153 | OK | Adding |
<%= name_with_status(project) %> |
2014-11-14 | I can't reproduce, this case should be handled. | ||
| 136 | TYPO | If the method in question is belongs to a third-party framework… should be If the method in question belongs to a third party framework… | 2014-11-14 | ||||
| 89 | TYPO | “If you put your data in in …” | 2014-11-14 | ||||
| 105 | TYPO | in the source code exemple: eq(“book_to_write”). I do not think it is right | 2014-11-14 | ||||
| 205 | TYPO | “go go through” | 2014-11-14 | ||||
| 0 | ERROR | in the source code: test_first_rspec/04/gatherer/spec/models/project_spec.rb | 2014-11-14 | ||||
| 0 | ERROR | in source code display/05/… | 2014-11-14 | ||||
| 105 | TYPO | sorry: eq(“book_to_write”) is actually right | 2014-11-14 | ||||
| 156 | TYPO | Missing ‘replace’ word. —with a little bit more work, we could require rails_helper at the top of the file with require spec_helper. should be: —with a little bit more work, we could replace require rails_helper at the top of the file with require spec_helper. | 2014-11-14 | ||||
| 160 | TYPO | Since we are using rspec for the tests the generated files from the rails g mailer TaskMailer should be different. So: invoke test_unit should be: invoke rspec | 2014-11-14 | ||||
| 165 | ERROR | For: test ‘it finds completed tasks’ do I have error: Minitest::UnexpectedError: NoMethodError: undefined method `complete’ for # Solution is to check: Where is not mentioned before method: def self.complete Regards | 2014-11-14 | ||||
| 167 | SUGGEST | Is the TEST in the following needed? rake test TEST=test/models/project_test.rb test can also be run with: rake test test/models/task_test.rb it’s also task not project | 2014-11-14 | ||||
| 165 | TYPO | the test is for the task and not the project as described in the text. So a Project instance … should be: a Task instance … and the method call project.done? should be the method call task.complete? | 2014-11-14 | ||||
| 168 | SUGGEST | Shouldn’t the following two lines be added to the top of the test file? require ‘test_helper’ class ProjectsControllerTest < ActionController::TestCase | 2014-11-14 | No, it's not meant to be an entire file | |||
| 22 | TYPO | In the fourth bullet point on the page, the sentence “Rollback or delete the fixtures as described earlier” is missing a period at the end. | 2014-11-14 | ||||
| 26 | SUGGEST | Add ‘$ bundle install’ to the listing to clearly show any commands the reader is expected to execute at the command line: $ bundle install | 2014-11-14 | ||||
| 194 | TYPO | We are in a middle of a process for Spec version. We have: test/fixtures/tasks.yml and should be: spec/fixtures/ | 2014-11-14 | ||||
| 172 | SUGGEST | On the Minitest and Routing section the tests with assert_routing that includes the method in the path parameter fail with SyntaxError messages. It seems that to make it work you have to pass the paramaters enclosed in brackets as in: assert_routing ({ path: ‘/projects’, method: ‘post’ }), ({ controller: ‘projects’, action: ‘create’ }) | 2014-11-14 | I don't see this issue | |||
| 176 | SUGGEST | The following two lines should be added on top of the project_test.rb file: require ‘test_helper’ class ProjectTest < ActiveSupport::TestCase | 2014-11-14 | Not meant to be an entire file | |||
| 176 | SUGGEST | Older ruby syntax used: :name => “Project Greenlight” instead of: name: “Project Greenlight” | 2014-11-14 | ||||
| 29 | TYPO | against an_object_eq_to(5) and an_object_eq_to(5), which are aliases to eq(5) and eq(7). should read against an_object_eq_to(5) and an_object_eq_to(7), which are aliases to eq(5) and eq(7). second ‘5’ should be a ‘7’ | 2014-11-14 | ||||
| 50 | TYPO | in our original project_test.rb file should be in our original project_spec.rb file | 2014-11-14 | ||||
| 0 | ERROR | In the source code exemple environment/02/gatherer I have a test failing. To solve the problem you need to rename a variable in product.rb | 2014-11-14 | ||||
| 212 | TYPO | The second test lines 20-23 it should not be in the user_and_role_spec.rb file at this page as the test with it does not pass as described in the text. | 2014-11-14 | ||||
| 210 | SUGGEST | Maybe it would be a good idea to point out that the order in config/routes.rb is important. So if the root path is before the projects path the test for the /projects will fail. | 2014-11-14 | ||||
| 216 | ERROR | As with our last pair of security tests, the test that assumes no blocking behavior passes, while the blocking test does not. Both tests fail as no roles behaviour is established yet. | 2014-11-14 | ||||
| 196 | TYPO | In integration/02/gatherer/app/models/task.rb we have: def epic? def small? # def small? | 2014-11-14 | ||||
| 220 | OK | In my situation changes were needed after the modification in the controller by creating the user again: it “allows a user who is part of a project can see that project” do And I have in user_and_role_spec.rb this line: let(:user) { User.create(email: “test@example.com”, password: “password”) } But project.roles.create(user: user) is not working before my change somehow. | 2014-11-20 | I think this is a setup issue, that I can not reproduce | |||
| 215 | OK | In security/01a/gatherer/spec/features/add_project_spec.rb there is a missing line. Should be: before(:example) do | 2014-11-20 | I think this is a setup issue, that I can not reproduce | |||
| 220 | OK | There is better method to solve problem I showed yesterday. I make this change: let(:user) { User.create(email: “test2@example.com”, password: “password”) } I found this by experiment and having this kind of error: with email: “test@example.com” Now all works in my case. | 2014-11-20 | I think this is a setup issue, that I can not reproduce | |||
| 275 | SUGGEST | There is no actual content related to JavaScript Fiddle in the “JavaScript Fiddle” section. It’s not referenced, there’s not links to external sources, no discussion of what it is or why you’d use it, nothing. Maybe consider adding at least a few lines giving the reader some idea of why it was brought up? | |||||
| 229 | TYPO | The sentence “But it’s no because none of the attributes are permitted.” should most likely be “But it’s not because none of the attributes are permitted.” | 2014-11-26 | This was fixed in layout | |||
| 234 | TYPO | There seems to be 2 different bullet point lists which are not displaying as lists, but as paragraphs with sentences that are prefixed with an asterix. One is after the sentence “We also introduce two characters to the story for design and testing purposes:” The other is after the sentence “There are several kinds of tests that relate different combinations of these | 2014-11-26 | This was fixed in layout | |||
| 226 | SUGGEST | Shouldn’t the test on the last line of the controller be something like? expect([project]).to eq(user.visible_projects) | |||||
| 1039 | TYPO | Note: the page number entered is the location in the Kindle .mobi file, since there are no page numbers. In the section “Our First Date”, in the file: basics_rspec/07/gatherer/app/models/task.rb the functions shown below should have “@completed_at” instead of “completed_at”. As the code is in the book, the tests in task_spec.rb fail even though the book indicates that they should now be passing. Using the instance variable in the code below allows the tests to pass as expected. def complete? def part_of_velocity? | |||||
| 255 | TYPO | Given… should be: Given… | |||||
| 152 | TYPO | The link to github.com/drapergem/draper> should be pointing to github.com/drapergem/draper | |||||
| 238 | TYPO | allow(AvatarAdapter).to receive(:new).with(user).and_return(fake_adapter) should be allow(AvatarAdapter).to receive(:new).with(user.email).and_return(fake_adapter) | |||||
| 84 | TYPO | In the test “doesn’t allow creation of a task without a size” the task_string has wrong formatting. It is “size:no_size” but i think it should be more like “size:1\ | |||||
| 54 | 43 | TYPO | “Starting on line 5 and ending on line 8” should be “…ending on line 9”. Line 9 has the Capybara method ‘visit’. | ||||
| 227 | ERROR | rails generate migration add_public_fields instead of rake generate migration add_public_fields | |||||
| 231 | TYPO | In second block of code (visible_projects method), there’s an extra ‘end’ which is not needed. | |||||
| 242 | SUGGEST | Last paragraph seems to suppose to be a bullet point list, but is shown as block of text, which is harder to read. | |||||
| 258 | ERROR | Link at the bottom of the page doesn’t work. | |||||
| 90 | TYPO | In Chapter 5. Testing Models • 90 “The definition starts with a call to RSpec::Matchers.define, pssing it the name of the matcher and a block.” pssing should be passing | |||||
| 588 | ERROR | Chapter 11: Testing for Security ‘We are all green’. I had three failing specs. Fail 1: 2) ProjectsController GET show does not allow a user who is not part of the project to see the project Actions to correct: - Change Fail 2: 1) adding a new task can add and reorder a task rspec ./spec/features/add_task_spec.rb:20 # adding a new task can add and reorder a task Action to correct:
| |||||
| 814 | ERROR | The handling of down clicks of tasks are missing. In projects.js: nextTask: function(task_row) { $(document).on(“click”, “.down”, function(event) { | |||||
| 43 | TYPO | “We than can make…” should be “We then can make” | |||||
| 54 | SUGGEST | I was confused when I saw ‘describe “adding projects” do’ because we had used the newer rspec describe style earlier: ‘RSpec.describe Project do’ is there a reason for using one over the other in these cases? One is a model test, and the other is a feature test… Maybe add a note that they can be used interchangeably and the reason for switching style here. | |||||
| 47 | ERROR | After converting the models from plain old ruby objects to ActiveRecord models, I get the following errors when running the specs that are not mentioned: 2) Project initialization marks a project done if its task are done 3) Task can distinguish a complete task 4) Task velocity counts a recently completed task toward velocity I think something else needs to be changed to have the AR models get saved (all of their values are nil); will investigate. | |||||
| 237 | TYPO | where it says: Twitter has a Ruby gem that’s not to hard to set up, I think it should say: it’s not TOO hard to set up. | |||||
| 214 | ERROR | example security/02/gatherer/spec/models/user_spec.rb should use rails_helper instead of spec_helper as the tests use AR models | |||||
| 36 | ERROR | The tests do not pass: 1) Project estimates can calculate remaining size expected: 5 Task.initialize needs a line or the generation for :done in project_spec.rb should provide “completed_at: Time.now” instead of “completed: true” Cheers, | |||||
| 27 | TYPO | The two test descriptions use the word “test”. They should use “task” instead. Example: “considers a project with no test to be done” should be “considers a project with no task to be done”. | |||||
| 111 | ERROR | January 20th plus 6 months is July 20th, not June 20th. | |||||
| 73 | ERROR | dom class with underscore to make the test pass |
<%= project.total_size %> |
<%= project.total_size %> |
|||
| 43 | TYPO | On the 4th paragraph you say “…asserting that the title of the new task…” should be “…asserting the title of the new project” | |||||
| 43 | TYPO | On the 5th paragraph: “…only that the new task name is there.” should be ‘…only the new project name is there.’ | |||||
| 84 | SUGGEST | I am not understanding how this test ensures that a task is not created: it “doesn’t allow creation of a task without a size” do Why would the expectation be that a task’s title is “size”? expect(creator.project.tasks.map(&:title)).to_not eq([“size”]) | |||||
| 102 | SUGGEST | There seems to be an extra “:” in the factory girl example that uses an arbitrary class. Regardless, I cannot get this factory running successfully: ; it leads to this kind of error: but this factory is successful: irb(main):004:0> FactoryGirl.create :project | |||||
| 103 | ERROR | I think slug has to be defined in the Project model for this to work: FactoryGirl.define do otherwise, I get the following error: bundle exec rails console | |||||
| 251 | SUGGEST | Regarding jasmine-fixture; please include install/setup/config information about this add-on library the linked to Github repo currently has no such information and given it’s reasonable to expect your readers to be new to this environment and it’s tools we could find it quite difficult to get a definitive answer, as things stand I think I’ve got mine working although I can’t be sure which specific action or combination of actions has provided the solution, after the clear instructions on how to install jasmine-rails it is rather cruel/lazy to then be left with no similar information on jasmine-fixture. Of course if I’ve missed something; please do let me know and I’ll retract my allegations of cruelty and laziness if not; then please get us the definitive information. | |||||
| 100 | 90 | TYPO | The definition starts with a call to RSpec::Matchers.define, pssing it, typo on pssing, should be passing. | ||||
| 130 | TYPO | In the code sample on page 130: it “can create doubles” do …did you perhaps mean: | |||||
| 29 | ERROR | “a completed task is complete” —— test method is ‘task.complete!’ - actual method is ‘mark_completed’ | |||||
| 120 | ERROR | it “can create doubles” do expect(twin.first_name).to eq(“Paul”) would actually be correct here I believe. | |||||
| 27 | TYPO | In the second to the last paragraph, “…in the body of the specs.” should be “…in the bodies of the specs.” | |||||
| 140 | TYPO | In the fourth paragraph, in the phrase ``you can simulate that using the Rails helper fixure_file_upload(filename, mime_type), like this:’‘, the name of the Rails helper is misspelled; it should be ``fixture_file_upload’’. | |||||
| 139 | ERROR | At the bottom of [PDF] page 139, The last sentence is ``A full call to one of these methods has five arguments, though you’ll often just use the first three:’’ Immediately below this, at the very bottom of the page, we see what looks like a method call with four, not five arguments: ``get :show, {id: | |||||
| 27 | TYPO | The “test” in the following two lines in the book should be “task”: 1) it “considers a project with no test to be done” do | |||||
| 31 | SUGGEST | In chapter 2 the project class has a done? method with the following code tasks.reject(&:complete?).empty?. It could be rewritten as tasks.all?(&:complete?) which I think reads better and prevents us from having to refactor the code and create the incomplete tasks method |