February 2018
Intermediate to advanced
406 pages
9h 52m
English
What remains of your definition of done? is the distinction between complete and incomplete tasks. Let’s start with that, with a test for Task:
| | require "rails_helper" |
| | |
| | RSpec.describe Task do |
| | let(:task) { Task.new } |
| | |
| | it "does not have a new task as complete" do |
| | expect(task).not_to be_complete |
| | end |
| | |
| | it "allows us to complete a task" do |
| | task.mark_completed |
| | expect(task).to be_complete |
| | end |
| | end |
You have two specs here. The first says that a brand-new task is not complete. The second creates a different task object, marks it as complete, and expects that it is then complete.
This test is entirely at the API level and makes no claim about the underlying mechanism ...