trollolo 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -2
  3. data/.rubocop_todo.yml +105 -270
  4. data/CHANGELOG.md +10 -0
  5. data/CONTRIBUTING.md +6 -4
  6. data/Gemfile +1 -1
  7. data/README.md +10 -1
  8. data/Rakefile +4 -4
  9. data/bin/trollolo +2 -2
  10. data/lib/backup.rb +21 -23
  11. data/lib/burndown_chart.rb +46 -49
  12. data/lib/burndown_data.rb +21 -21
  13. data/lib/card.rb +23 -32
  14. data/lib/checklist.rb +13 -1
  15. data/lib/cli.rb +105 -110
  16. data/lib/column.rb +11 -10
  17. data/lib/empty_column.rb +2 -2
  18. data/lib/scrum/backlog_mover.rb +3 -3
  19. data/lib/scrum/card_type_detection.rb +1 -1
  20. data/lib/scrum/creator.rb +7 -7
  21. data/lib/scrum/prioritizer.rb +1 -1
  22. data/lib/scrum/sprint_board.rb +4 -4
  23. data/lib/scrum/sprint_cleaner.rb +3 -3
  24. data/lib/scrum/sprint_planning_board.rb +2 -4
  25. data/lib/scrum_board.rb +3 -3
  26. data/lib/settings.rb +29 -27
  27. data/lib/trello_service.rb +1 -1
  28. data/lib/trello_wrapper.rb +9 -9
  29. data/lib/version.rb +1 -1
  30. data/spec/data/card.json +19 -0
  31. data/spec/data/trollolorc +3 -0
  32. data/spec/integration/command_line_spec.rb +14 -14
  33. data/spec/integration/create_burndown_spec.rb +25 -25
  34. data/spec/integration/integration_spec_helper.rb +1 -1
  35. data/spec/integration/wrapper/credentials_input_wrapper +7 -11
  36. data/spec/integration/wrapper/empty_config_trollolo_wrapper +2 -2
  37. data/spec/integration/wrapper/trollolo_wrapper +2 -2
  38. data/spec/unit/backup_spec.rb +14 -14
  39. data/spec/unit/burndown_chart_spec.rb +176 -184
  40. data/spec/unit/burndown_data_spec.rb +21 -23
  41. data/spec/unit/card_spec.rb +38 -24
  42. data/spec/unit/cli_spec.rb +57 -57
  43. data/spec/unit/empty_column_spec.rb +1 -1
  44. data/spec/unit/retrieve_data_spec.rb +13 -13
  45. data/spec/unit/scrum/backlog_mover_spec.rb +8 -8
  46. data/spec/unit/scrum/card_type_detection_spec.rb +12 -12
  47. data/spec/unit/scrum/creator_spec.rb +8 -8
  48. data/spec/unit/scrum/prioritizer_spec.rb +19 -19
  49. data/spec/unit/scrum/priority_name_spec.rb +16 -16
  50. data/spec/unit/scrum/sprint_board_spec.rb +3 -3
  51. data/spec/unit/scrum/sprint_cleaner_spec.rb +15 -15
  52. data/spec/unit/scrum/sprint_planning_board_spec.rb +2 -2
  53. data/spec/unit/scrum_board_spec.rb +56 -56
  54. data/spec/unit/settings_spec.rb +23 -23
  55. data/spec/unit/spec_helper.rb +3 -3
  56. data/spec/unit/support/test_data_operations.rb +4 -0
  57. data/spec/unit/support/update_webmock_data +9 -11
  58. data/spec/unit/support/vcr.rb +3 -3
  59. data/spec/unit/support/webmocks.rb +21 -12
  60. data/spec/unit/trello_wrapper_spec.rb +40 -29
  61. data/trollolo.gemspec +3 -3
  62. metadata +8 -5
@@ -1,7 +1,7 @@
1
1
  require_relative 'spec_helper'
2
2
 
3
3
  describe EmptyColumn do
4
- [:committed_cards, :extra_cards, :unplanned_cards, :cards, :fast_lane_cards].each do |cards_method|
4
+ %i[committed_cards extra_cards unplanned_cards cards fast_lane_cards].each do |cards_method|
5
5
  it "##{cards_method}" do
6
6
  expect(subject.send(cards_method)).to eq([])
7
7
  end
@@ -1,42 +1,42 @@
1
1
  require_relative 'spec_helper'
2
2
 
3
- describe "retrieve data through Trello API" do
3
+ describe 'retrieve data through Trello API' do
4
4
  before(:each) do
5
5
  full_board_mock
6
6
  trello_wrapper = TrelloWrapper.new(dummy_settings)
7
- @board = trello_wrapper.board("53186e8391ef8671265eba9d")
7
+ @board = trello_wrapper.board('53186e8391ef8671265eba9d')
8
8
  end
9
9
 
10
- describe "board" do
11
- it "gets id" do
12
- expect(@board.id).to eq("53186e8391ef8671265eba9d")
10
+ describe 'board' do
11
+ it 'gets id' do
12
+ expect(@board.id).to eq('53186e8391ef8671265eba9d')
13
13
  end
14
14
 
15
- it "gets columns" do
15
+ it 'gets columns' do
16
16
  columns = @board.columns
17
17
  expect(columns.count).to eq(6)
18
- expect(columns[0].name).to eq("Sprint Backlog")
18
+ expect(columns[0].name).to eq('Sprint Backlog')
19
19
  end
20
20
 
21
- it "gets cards" do
21
+ it 'gets cards' do
22
22
  cards = @board.columns[0].cards
23
23
  expect(cards.count).to eq(6)
24
- expect(cards[0].name).to eq("Sprint 3")
24
+ expect(cards[0].name).to eq('Sprint 3')
25
25
  end
26
26
 
27
- it "gets checklist item counts" do
27
+ it 'gets checklist item counts' do
28
28
  card = @board.columns[1].cards[0]
29
29
  expect(card.tasks).to eq(2)
30
30
  expect(card.done_tasks).to eq(1)
31
31
  end
32
32
 
33
- it "gets card labels" do
33
+ it 'gets card labels' do
34
34
  card = @board.columns[0].cards[5]
35
35
  expect(card.card_labels.count).to eq(1)
36
- expect(card.card_labels[0]["name"]).to eq("Under waterline")
36
+ expect(card.card_labels[0]['name']).to eq('Under waterline')
37
37
  end
38
38
 
39
- it "gets card description" do
39
+ it 'gets card description' do
40
40
  card = @board.columns[2].cards[1]
41
41
  expected_desc = <<EOT
42
42
  ```yaml
@@ -1,20 +1,20 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Scrum::BacklogMover do
4
4
  subject { described_class.new(dummy_settings) }
5
5
 
6
- it "creates new move backlog" do
6
+ it 'creates new move backlog' do
7
7
  expect(subject).to be
8
8
  end
9
9
 
10
- it "fails without moving if sprint backlog is missing from sprint board", vcr: "move_backlog_missing_backlog", vcr_record: false do
11
- expect {
12
- subject.move("neUHHzDo", "NzGCbEeN")
13
- }.to raise_error("sprint board is missing Sprint Backlog list")
10
+ it 'fails without moving if sprint backlog is missing from sprint board', vcr: 'move_backlog_missing_backlog', vcr_record: false do
11
+ expect do
12
+ subject.move('neUHHzDo', 'NzGCbEeN')
13
+ end.to raise_error('sprint board is missing Sprint Backlog list')
14
14
  end
15
15
 
16
- it "moves cards to sprint board", vcr: "move_backlog", vcr_record: false do
16
+ it 'moves cards to sprint board', vcr: 'move_backlog', vcr_record: false do
17
17
  expect(STDOUT).to receive(:puts).exactly(11).times
18
- subject.move("neUHHzDo", "NzGCbEeN")
18
+ subject.move('neUHHzDo', 'NzGCbEeN')
19
19
  end
20
20
  end
@@ -1,35 +1,35 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Scrum::CardTypeDetection do
4
4
  let(:dummy_class) { Class.new { include Scrum::CardTypeDetection } }
5
5
  subject { dummy_class.new }
6
- let(:waterline_card) { instance_double("Card", name: 'waterline') }
7
- let(:upcase_waterline_card) { instance_double("Card", name: 'Waterline') }
8
- let(:fancy_waterline_card) { instance_double("Card", name: '~~~ WaTeR lInE ~~~') }
9
- let(:seabed_card) { instance_double("Card", name: 'seabed') }
10
- let(:fancy_seabed_card) { instance_double("Card", name: '!-! Sea Bed !-!') }
6
+ let(:waterline_card) { instance_double('Card', name: 'waterline') }
7
+ let(:upcase_waterline_card) { instance_double('Card', name: 'Waterline') }
8
+ let(:fancy_waterline_card) { instance_double('Card', name: '~~~ WaTeR lInE ~~~') }
9
+ let(:seabed_card) { instance_double('Card', name: 'seabed') }
10
+ let(:fancy_seabed_card) { instance_double('Card', name: '!-! Sea Bed !-!') }
11
11
 
12
- it "recognizes waterline string" do
12
+ it 'recognizes waterline string' do
13
13
  expect(subject.waterline?(waterline_card)).to be_truthy
14
14
  end
15
15
 
16
- it "refuses non waterline name" do
16
+ it 'refuses non waterline name' do
17
17
  expect(subject.waterline?(seabed_card)).to be_falsy
18
18
  end
19
19
 
20
- it "recognizes upcase spellings of waterline" do
20
+ it 'recognizes upcase spellings of waterline' do
21
21
  expect(subject.waterline?(upcase_waterline_card)).to be_truthy
22
22
  end
23
23
 
24
- it "recognizes fancy spellings of waterline" do
24
+ it 'recognizes fancy spellings of waterline' do
25
25
  expect(subject.waterline?(fancy_waterline_card)).to be_truthy
26
26
  end
27
27
 
28
- it "recognizes fancy spellings of seabed" do
28
+ it 'recognizes fancy spellings of seabed' do
29
29
  expect(subject.seabed?(fancy_seabed_card)).to be_truthy
30
30
  end
31
31
 
32
- it "refuses non seabed name" do
32
+ it 'refuses non seabed name' do
33
33
  expect(subject.seabed?(waterline_card)).to be_falsy
34
34
  end
35
35
  end
@@ -1,22 +1,22 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Scrum::Creator do
4
4
  subject { described_class.new(dummy_settings) }
5
- let(:custom_subject) {
5
+ let(:custom_subject) do
6
6
  custom_settings = dummy_settings
7
- custom_settings.scrum.board_names["planning"] = "Planungs Brett"
7
+ custom_settings.scrum.board_names['planning'] = 'Planungs Brett'
8
8
  described_class.new(custom_settings)
9
- }
9
+ end
10
10
 
11
- it "creates new creator" do
11
+ it 'creates new creator' do
12
12
  expect(subject).to be
13
13
  end
14
14
 
15
- context "default" do
16
- it "creates boards from default config", vcr: "creator_default_config", vcr_record: false do
15
+ context 'default' do
16
+ it 'creates boards from default config', vcr: 'creator_default_config', vcr_record: false do
17
17
  expect { subject.create }.not_to raise_error
18
18
  end
19
- it "creates boards according to existing config", vcr: "creator_custom_config", vcr_record: false do
19
+ it 'creates boards according to existing config', vcr: 'creator_custom_config', vcr_record: false do
20
20
  expect { custom_subject.create }.not_to raise_error
21
21
  end
22
22
  end
@@ -1,45 +1,45 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Scrum::Prioritizer do
4
4
  subject { described_class.new(dummy_settings) }
5
5
 
6
- it "creates new prioritizer" do
6
+ it 'creates new prioritizer' do
7
7
  expect(subject).to be
8
8
  end
9
9
 
10
- context "default" do
11
- it "raises an exception if board is not found", vcr: "prioritize_no_backlog_list", vcr_record: false do
12
- expect { subject.prioritize("xxxxx123") }.to raise_error(Trello::Error)
10
+ context 'default' do
11
+ it 'raises an exception if board is not found', vcr: 'prioritize_no_backlog_list', vcr_record: false do
12
+ expect { subject.prioritize('xxxxx123') }.to raise_error(Trello::Error)
13
13
  end
14
14
 
15
- it "raises an exception if list is not on board", vcr: "prioritize_no_backlog_list", vcr_record: false do
16
- expect { subject.prioritize("neUHHzDo") }.to raise_error("list named 'Backlog' not found on board")
15
+ it 'raises an exception if list is not on board', vcr: 'prioritize_no_backlog_list', vcr_record: false do
16
+ expect { subject.prioritize('neUHHzDo') }.to raise_error("list named 'Backlog' not found on board")
17
17
  end
18
18
 
19
- it "adds priority text to card titles", vcr: "prioritize_backlog_list", vcr_record: false do
19
+ it 'adds priority text to card titles', vcr: 'prioritize_backlog_list', vcr_record: false do
20
20
  expect(STDOUT).to receive(:puts).exactly(13).times
21
- expect { subject.prioritize("neUHHzDo") }.not_to raise_error
21
+ expect { subject.prioritize('neUHHzDo') }.not_to raise_error
22
22
  end
23
23
  end
24
24
 
25
- context "specifying backlog list as argument" do
25
+ context 'specifying backlog list as argument' do
26
26
  before do
27
- subject.settings.scrum.list_names["planning_backlog"] = "Nonexisting List"
27
+ subject.settings.scrum.list_names['planning_backlog'] = 'Nonexisting List'
28
28
  end
29
29
 
30
- it "finds backlog list", vcr: "prioritize_backlog_list", vcr_record: false do
30
+ it 'finds backlog list', vcr: 'prioritize_backlog_list', vcr_record: false do
31
31
  expect(STDOUT).to receive(:puts).exactly(13).times
32
- expect {
33
- subject.prioritize("neUHHzDo", "Backlog")
34
- }.not_to raise_error
32
+ expect do
33
+ subject.prioritize('neUHHzDo', 'Backlog')
34
+ end.not_to raise_error
35
35
  end
36
36
 
37
- it "throws error when default list does not exist", vcr: "prioritize_backlog_list", vcr_record: false do
38
- expect { subject.prioritize("neUHHzDo") }.to raise_error("list named 'Nonexisting List' not found on board")
37
+ it 'throws error when default list does not exist', vcr: 'prioritize_backlog_list', vcr_record: false do
38
+ expect { subject.prioritize('neUHHzDo') }.to raise_error("list named 'Nonexisting List' not found on board")
39
39
  end
40
40
 
41
- it "throws error when specified list does not exist", vcr: "prioritize_backlog_list", vcr_record: false do
42
- expect { subject.prioritize("neUHHzDo", "My Backlog") }.to raise_error("list named 'My Backlog' not found on board")
41
+ it 'throws error when specified list does not exist', vcr: 'prioritize_backlog_list', vcr_record: false do
42
+ expect { subject.prioritize('neUHHzDo', 'My Backlog') }.to raise_error("list named 'My Backlog' not found on board")
43
43
  end
44
44
  end
45
45
  end
@@ -1,35 +1,35 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Scrum::PriorityName do
4
4
  let(:priority_name) { Scrum::PriorityName }
5
5
 
6
- describe "parses name" do
7
- it "extracts priority number from card name" do
8
- expect(priority_name.priority("(0.5) P1: Refactor cards")).to eq(1)
6
+ describe 'parses name' do
7
+ it 'extracts priority number from card name' do
8
+ expect(priority_name.priority('(0.5) P1: Refactor cards')).to eq(1)
9
9
  end
10
10
 
11
- it "extracts priority number from card name if it is at the beginning " do
12
- expect(priority_name.priority("P01: (3) Refactor cards")).to eq(1)
11
+ it 'extracts priority number from card name if it is at the beginning ' do
12
+ expect(priority_name.priority('P01: (3) Refactor cards')).to eq(1)
13
13
  end
14
14
  end
15
15
 
16
- describe "updates priority" do
17
- it "updates existing priority in title" do
16
+ describe 'updates priority' do
17
+ it 'updates existing priority in title' do
18
18
  expect(
19
- priority_name.build("P01: (3) Refactor cards", 3)
20
- ).to eq("P3: (3) Refactor cards")
19
+ priority_name.build('P01: (3) Refactor cards', 3)
20
+ ).to eq('P3: (3) Refactor cards')
21
21
  end
22
22
 
23
- it "adds new priority text to title" do
23
+ it 'adds new priority text to title' do
24
24
  expect(
25
- priority_name.build("(3) Refactor cards", 4)
26
- ).to eq("P4: (3) Refactor cards")
25
+ priority_name.build('(3) Refactor cards', 4)
26
+ ).to eq('P4: (3) Refactor cards')
27
27
  end
28
28
 
29
- it "updates priority after story points" do
29
+ it 'updates priority after story points' do
30
30
  expect(
31
- priority_name.build("(0.5) P1: Refactor cards", 4)
32
- ).to eq("(0.5) P4: Refactor cards")
31
+ priority_name.build('(0.5) P1: Refactor cards', 4)
32
+ ).to eq('(0.5) P4: Refactor cards')
33
33
  end
34
34
  end
35
35
  end
@@ -1,4 +1,4 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Scrum::SprintBoard do
4
4
  subject!(:sprint_board) { described_class.new(dummy_settings.scrum) }
@@ -8,13 +8,13 @@ describe Scrum::SprintBoard do
8
8
  TrelloService.new(dummy_settings)
9
9
  end
10
10
 
11
- it "places existing waterline card at bottom and removes from planning board", vcr: "sprint_board", vcr_record: false do
11
+ it 'places existing waterline card at bottom and removes from planning board', vcr: 'sprint_board', vcr_record: false do
12
12
  sprint_board.setup('NzGCbEeN')
13
13
  planning_board.setup('neUHHzDo')
14
14
  sprint_board.place_waterline(planning_board.waterline_card)
15
15
  end
16
16
 
17
- it "moves waterline card from planning to bottom", vcr: "sprint_board_no_waterline", vcr_record: false do
17
+ it 'moves waterline card from planning to bottom', vcr: 'sprint_board_no_waterline', vcr_record: false do
18
18
  sprint_board.setup('NzGCbEeN')
19
19
  planning_board.setup('neUHHzDo')
20
20
  sprint_board.place_waterline(planning_board.waterline_card)
@@ -1,38 +1,38 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Scrum::SprintCleaner do
4
4
  subject { described_class.new(dummy_settings) }
5
5
 
6
- it "creates new sprint cleanup" do
6
+ it 'creates new sprint cleanup' do
7
7
  expect(subject).to be
8
8
  end
9
9
 
10
- it "moves remaining cards to target board", vcr: "sprint_cleanup", vcr_record: false do
10
+ it 'moves remaining cards to target board', vcr: 'sprint_cleanup', vcr_record: false do
11
11
  expect(STDOUT).to receive(:puts).exactly(13).times
12
- expect(subject.cleanup("7Zar7bNm", "72tOJsGS")).to be
12
+ expect(subject.cleanup('7Zar7bNm', '72tOJsGS')).to be
13
13
  end
14
14
 
15
- context "given correct burndown-data-xx.yaml" do
15
+ context 'given correct burndown-data-xx.yaml' do
16
16
  before do
17
17
  allow_any_instance_of(BurndownChart).to receive(:update)
18
18
  end
19
19
 
20
- it "generates new burndown data", vcr: "sprint_cleanup", vcr_record: false do
21
- expect {
22
- subject.cleanup("7Zar7bNm", "72tOJsGS")
23
- }.to output(/^(New burndown data was generated automatically)/).to_stdout
20
+ it 'generates new burndown data', vcr: 'sprint_cleanup', vcr_record: false do
21
+ expect do
22
+ subject.cleanup('7Zar7bNm', '72tOJsGS')
23
+ end.to output(/^(New burndown data was generated automatically)/).to_stdout
24
24
  end
25
25
  end
26
26
 
27
- context "with non-existing target list on target board" do
27
+ context 'with non-existing target list on target board' do
28
28
  before do
29
- subject.settings.scrum.list_names["planning_ready"] = "Nonexisting List"
29
+ subject.settings.scrum.list_names['planning_ready'] = 'Nonexisting List'
30
30
  end
31
31
 
32
- it "throws error", vcr: "sprint_cleanup", vcr_record: false do
33
- expect {
34
- subject.cleanup("7Zar7bNm", "72tOJsGS")
35
- }.to raise_error /'Nonexisting List' not found/
32
+ it 'throws error', vcr: 'sprint_cleanup', vcr_record: false do
33
+ expect do
34
+ subject.cleanup('7Zar7bNm', '72tOJsGS')
35
+ end.to raise_error /'Nonexisting List' not found/
36
36
  end
37
37
  end
38
38
  end
@@ -1,4 +1,4 @@
1
- require_relative "../spec_helper"
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe Scrum::SprintPlanningBoard do
4
4
  subject(:planning_board) { described_class.new(dummy_settings.scrum) }
@@ -7,7 +7,7 @@ describe Scrum::SprintPlanningBoard do
7
7
  TrelloService.new(dummy_settings)
8
8
  end
9
9
 
10
- it "has a waterline card", vcr: "sprint_planning_board", vcr_record: false do
10
+ it 'has a waterline card', vcr: 'sprint_planning_board', vcr_record: false do
11
11
  planning_board.setup('neUHHzDo')
12
12
  expect(planning_board.waterline_card).to be
13
13
  end
@@ -5,7 +5,7 @@ describe ScrumBoard do
5
5
  it 'raises error when done column cannot be found' do
6
6
  settings = dummy_settings
7
7
 
8
- board_data = JSON.parse(load_test_file("full-board.json"))
8
+ board_data = JSON.parse(load_test_file('full-board.json'))
9
9
  scrum_board = ScrumBoard.new(board_data, settings)
10
10
 
11
11
  settings.done_column_name_regex = /thiscolumndoesntexist/
@@ -19,20 +19,20 @@ describe ScrumBoard do
19
19
  columns = []
20
20
 
21
21
  column1 = double
22
- allow(column1).to receive(:name).and_return("Sprint Backlog")
22
+ allow(column1).to receive(:name).and_return('Sprint Backlog')
23
23
  columns << column1
24
24
 
25
25
  column2 = double
26
- allow(column2).to receive(:name).and_return("Doing")
26
+ allow(column2).to receive(:name).and_return('Doing')
27
27
  columns << column2
28
28
 
29
29
  column3 = double
30
- allow(column3).to receive(:name).and_return("Done Sprint 43")
30
+ allow(column3).to receive(:name).and_return('Done Sprint 43')
31
31
  columns << column3
32
32
 
33
33
  allow(scrum_board).to receive(:columns).and_return(columns)
34
34
 
35
- expect(scrum_board.done_column.name).to eq("Done Sprint 43")
35
+ expect(scrum_board.done_column.name).to eq('Done Sprint 43')
36
36
  end
37
37
 
38
38
  it 'finds done column with name "Done Sprint %s" if there are multiple done columns' do
@@ -41,24 +41,24 @@ describe ScrumBoard do
41
41
  columns = []
42
42
 
43
43
  column1 = double
44
- allow(column1).to receive(:name).and_return("Sprint Backlog")
44
+ allow(column1).to receive(:name).and_return('Sprint Backlog')
45
45
  columns << column1
46
46
 
47
47
  column2 = double
48
- allow(column2).to receive(:name).and_return("Doing")
48
+ allow(column2).to receive(:name).and_return('Doing')
49
49
  columns << column2
50
50
 
51
51
  column3 = double
52
- allow(column3).to receive(:name).and_return("Done Sprint 44")
52
+ allow(column3).to receive(:name).and_return('Done Sprint 44')
53
53
  columns << column3
54
54
 
55
55
  column4 = double
56
- allow(column4).to receive(:name).and_return("Done Sprint 43")
56
+ allow(column4).to receive(:name).and_return('Done Sprint 43')
57
57
  columns << column4
58
58
 
59
59
  allow(scrum_board).to receive(:columns).and_return(columns)
60
60
 
61
- expect(scrum_board.done_column.name).to eq("Done Sprint 44")
61
+ expect(scrum_board.done_column.name).to eq('Done Sprint 44')
62
62
  end
63
63
 
64
64
  it 'finds done column with name "Done (July 20th - August 3rd)"' do
@@ -67,109 +67,109 @@ describe ScrumBoard do
67
67
  columns = []
68
68
 
69
69
  column1 = double
70
- allow(column1).to receive(:name).and_return("Sprint Backlog")
70
+ allow(column1).to receive(:name).and_return('Sprint Backlog')
71
71
  columns << column1
72
72
 
73
73
  column2 = double
74
- allow(column2).to receive(:name).and_return("Doing")
74
+ allow(column2).to receive(:name).and_return('Doing')
75
75
  columns << column2
76
76
 
77
77
  column3 = double
78
- allow(column3).to receive(:name).and_return("Done (July 20th - August 3rd)")
78
+ allow(column3).to receive(:name).and_return('Done (July 20th - August 3rd)')
79
79
  columns << column3
80
80
 
81
81
  allow(scrum_board).to receive(:columns).and_return(columns)
82
82
 
83
- expect(scrum_board.done_column.name).to eq("Done (July 20th - August 3rd)")
83
+ expect(scrum_board.done_column.name).to eq('Done (July 20th - August 3rd)')
84
84
  end
85
85
  end
86
86
 
87
- describe "card counts" do
88
- context "full board" do
89
- let(:board) { ScrumBoard.new(JSON.parse(load_test_file("full-board.json")), dummy_settings) }
87
+ describe 'card counts' do
88
+ context 'full board' do
89
+ let(:board) { ScrumBoard.new(JSON.parse(load_test_file('full-board.json')), dummy_settings) }
90
90
 
91
- it "#done_cards" do
91
+ it '#done_cards' do
92
92
  expect(board.done_cards.count).to eq(3)
93
- expect(board.done_cards[0].name).to eq("Burndown chart")
94
- expect(board.done_cards[1].name).to eq("Sprint 10")
95
- expect(board.done_cards[2].name).to eq("(3) P3: Fill Done columns")
93
+ expect(board.done_cards[0].name).to eq('Burndown chart')
94
+ expect(board.done_cards[1].name).to eq('Sprint 10')
95
+ expect(board.done_cards[2].name).to eq('(3) P3: Fill Done columns')
96
96
  end
97
97
 
98
- it "#extra_cards" do
98
+ it '#extra_cards' do
99
99
  expect(board.extra_cards.count).to eq(1)
100
- expect(board.extra_cards[0].name).to eq("(8) P6: Celebrate testing board")
100
+ expect(board.extra_cards[0].name).to eq('(8) P6: Celebrate testing board')
101
101
  end
102
102
 
103
- it "#extra_done_cards" do
103
+ it '#extra_done_cards' do
104
104
  expect(board.extra_done_cards.count).to eq(0)
105
105
  end
106
106
 
107
- it "#unplanned_cards" do
107
+ it '#unplanned_cards' do
108
108
  expect(board.unplanned_cards.count).to eq(2)
109
- expect(board.unplanned_cards[0].name).to eq("(2) Some unplanned work")
110
- expect(board.unplanned_cards[1].name).to eq("(1) Fix emergency")
109
+ expect(board.unplanned_cards[0].name).to eq('(2) Some unplanned work')
110
+ expect(board.unplanned_cards[1].name).to eq('(1) Fix emergency')
111
111
  end
112
112
 
113
- it "#unplanned_done_cards" do
113
+ it '#unplanned_done_cards' do
114
114
  expect(board.unplanned_done_cards.count).to eq(1)
115
- expect(board.unplanned_done_cards[0].name).to eq("(2) Some unplanned work")
115
+ expect(board.unplanned_done_cards[0].name).to eq('(2) Some unplanned work')
116
116
  end
117
117
 
118
- it "#done_fast_lane_cards_count" do
118
+ it '#done_fast_lane_cards_count' do
119
119
  expect(board.done_fast_lane_cards_count).to eq(0)
120
120
  end
121
121
 
122
- it "#scrum_cards" do
122
+ it '#scrum_cards' do
123
123
  expect(board.scrum_cards.count).to eq(4)
124
- expect(board.scrum_cards[0].name).to eq("Burndown chart")
125
- expect(board.scrum_cards[1].name).to eq("Sprint 10")
126
- expect(board.scrum_cards[2].name).to eq("(3) P3: Fill Done columns")
127
- expect(board.scrum_cards[3].name).to eq("(2) Some unplanned work")
124
+ expect(board.scrum_cards[0].name).to eq('Burndown chart')
125
+ expect(board.scrum_cards[1].name).to eq('Sprint 10')
126
+ expect(board.scrum_cards[2].name).to eq('(3) P3: Fill Done columns')
127
+ expect(board.scrum_cards[3].name).to eq('(2) Some unplanned work')
128
128
  end
129
129
  end
130
130
 
131
131
  context "full board with 'Accepted' column" do
132
- let(:board) { ScrumBoard.new(JSON.parse(load_test_file("full-board-with-accepted.json")), dummy_settings) }
132
+ let(:board) { ScrumBoard.new(JSON.parse(load_test_file('full-board-with-accepted.json')), dummy_settings) }
133
133
 
134
- it "#done_cards" do
134
+ it '#done_cards' do
135
135
  expect(board.done_cards.count).to eq(4)
136
- expect(board.done_cards[0].name).to eq("Burndown chart")
137
- expect(board.done_cards[1].name).to eq("Sprint 10")
138
- expect(board.done_cards[2].name).to eq("(2) P7: Add Accepted column")
139
- expect(board.done_cards[3].name).to eq("(3) P3: Fill Done columns")
136
+ expect(board.done_cards[0].name).to eq('Burndown chart')
137
+ expect(board.done_cards[1].name).to eq('Sprint 10')
138
+ expect(board.done_cards[2].name).to eq('(2) P7: Add Accepted column')
139
+ expect(board.done_cards[3].name).to eq('(3) P3: Fill Done columns')
140
140
  end
141
141
 
142
- it "#extra_cards" do
142
+ it '#extra_cards' do
143
143
  expect(board.extra_cards.count).to eq(1)
144
- expect(board.extra_cards[0].name).to eq("(8) P6: Celebrate testing board")
144
+ expect(board.extra_cards[0].name).to eq('(8) P6: Celebrate testing board')
145
145
  end
146
146
 
147
- it "#extra_done_cards" do
147
+ it '#extra_done_cards' do
148
148
  expect(board.extra_done_cards.count).to eq(0)
149
149
  end
150
150
 
151
- it "#unplanned_cards" do
151
+ it '#unplanned_cards' do
152
152
  expect(board.unplanned_cards.count).to eq(2)
153
- expect(board.unplanned_cards[0].name).to eq("(2) Some unplanned work")
154
- expect(board.unplanned_cards[1].name).to eq("(1) Fix emergency")
153
+ expect(board.unplanned_cards[0].name).to eq('(2) Some unplanned work')
154
+ expect(board.unplanned_cards[1].name).to eq('(1) Fix emergency')
155
155
  end
156
156
 
157
- it "#unplanned_done_cards" do
157
+ it '#unplanned_done_cards' do
158
158
  expect(board.unplanned_done_cards.count).to eq(1)
159
- expect(board.unplanned_done_cards[0].name).to eq("(2) Some unplanned work")
159
+ expect(board.unplanned_done_cards[0].name).to eq('(2) Some unplanned work')
160
160
  end
161
161
 
162
- it "#done_fast_lane_cards_count" do
162
+ it '#done_fast_lane_cards_count' do
163
163
  expect(board.done_fast_lane_cards_count).to eq(0)
164
164
  end
165
165
 
166
- it "#scrum_cards" do
166
+ it '#scrum_cards' do
167
167
  expect(board.scrum_cards.count).to eq(5)
168
- expect(board.scrum_cards[0].name).to eq("Burndown chart")
169
- expect(board.scrum_cards[1].name).to eq("Sprint 10")
170
- expect(board.scrum_cards[2].name).to eq("(2) Some unplanned work")
171
- expect(board.scrum_cards[3].name).to eq("(2) P7: Add Accepted column")
172
- expect(board.scrum_cards[4].name).to eq("(3) P3: Fill Done columns")
168
+ expect(board.scrum_cards[0].name).to eq('Burndown chart')
169
+ expect(board.scrum_cards[1].name).to eq('Sprint 10')
170
+ expect(board.scrum_cards[2].name).to eq('(2) Some unplanned work')
171
+ expect(board.scrum_cards[3].name).to eq('(2) P7: Add Accepted column')
172
+ expect(board.scrum_cards[4].name).to eq('(3) P3: Fill Done columns')
173
173
  end
174
174
  end
175
175
  end