fixing rubocop and removing original fetcher

This commit is contained in:
Andrew Waage
2016-05-25 12:46:47 -07:00
committed by Olle Jonsson
parent 0e948fb125
commit ef9867c122
16 changed files with 434 additions and 651 deletions

View File

@@ -2,10 +2,10 @@
module GitHubChangelogGenerator
describe Generator do
context "#exclude_issues_by_labels" do
let(:label) { { 'name' => "BAD" } }
let(:issue) { { 'labels' => [label] } }
let(:good_label) { { 'name' => "GOOD" } }
let(:good_issue) { { 'labels' => [good_label] } }
let(:label) { { "name" => "BAD" } }
let(:issue) { { "labels" => [label] } }
let(:good_label) { { "name" => "GOOD" } }
let(:good_issue) { { "labels" => [good_label] } }
let(:issues) { [issue, good_issue] }
subject(:generator) { described_class.new(exclude_labels: %w(BAD BOO)) }

View File

@@ -1,12 +1,12 @@
# frozen_string_literal: true
describe GitHubChangelogGenerator::Generator do
def tag_mash_with_name(tag)
Hashie::Mash.new.tap { |mash_tag| mash_tag.name = tag }
def tag_with_name(tag)
{}.tap { |mash_tag| mash_tag["name"] = tag }
end
def tags_mash_from_strings(tags_strings)
def tags_from_strings(tags_strings)
tags_strings.map do |tag|
tag_mash_with_name(tag)
tag_with_name(tag)
end
end
@@ -17,20 +17,20 @@ describe GitHubChangelogGenerator::Generator do
end
subject do
@generator.get_filtered_tags(tags_mash_from_strings(%w(1 2 3)))
@generator.get_filtered_tags(tags_from_strings(%w(1 2 3)))
end
it { is_expected.to be_a(Array) }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2 3))) }
end
context "when between_tags same as input array" do
before do
@generator = GitHubChangelogGenerator::Generator.new(between_tags: %w(1 2 3))
end
subject do
@generator.get_filtered_tags(tags_mash_from_strings(%w(1 2 3)))
@generator.get_filtered_tags(tags_from_strings(%w(1 2 3)))
end
it { is_expected.to be_a(Array) }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2 3))) }
end
context "when between_tags filled with correct values" do
@@ -38,10 +38,10 @@ describe GitHubChangelogGenerator::Generator do
@generator = GitHubChangelogGenerator::Generator.new(between_tags: %w(1 2))
end
subject do
@generator.get_filtered_tags(tags_mash_from_strings(%w(1 2 3)))
@generator.get_filtered_tags(tags_from_strings(%w(1 2 3)))
end
it { is_expected.to be_a(Array) }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2))) }
end
context "when between_tags filled with invalid values" do
@@ -50,133 +50,133 @@ describe GitHubChangelogGenerator::Generator do
end
subject do
@generator.get_filtered_tags(tags_mash_from_strings(%w(1 2 3)))
@generator.get_filtered_tags(tags_from_strings(%w(1 2 3)))
end
it { is_expected.to be_a(Array) }
it { is_expected.to match_array(tags_mash_from_strings(%w(1))) }
it { is_expected.to match_array(tags_from_strings(%w(1))) }
end
end
describe "#get_filtered_tags" do
subject do
generator.get_filtered_tags(tags_mash_from_strings(%w(1 2 3 4 5)))
generator.get_filtered_tags(tags_from_strings(%w(1 2 3 4 5)))
end
context "with excluded and between tags" do
let(:generator) { GitHubChangelogGenerator::Generator.new(between_tags: %w(1 2 3), exclude_tags: %w(2)) }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 3))) }
it { is_expected.to match_array(tags_from_strings(%w(1 3))) }
end
end
describe "#filter_excluded_tags" do
subject { generator.filter_excluded_tags(tags_mash_from_strings(%w(1 2 3))) }
subject { generator.filter_excluded_tags(tags_from_strings(%w(1 2 3))) }
context "with matching string" do
let(:generator) { GitHubChangelogGenerator::Generator.new(exclude_tags: %w(3)) }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2))) }
end
context "with non-matching string" do
let(:generator) { GitHubChangelogGenerator::Generator.new(exclude_tags: %w(invalid tags)) }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2 3))) }
end
context "with matching regex" do
let(:generator) { GitHubChangelogGenerator::Generator.new(exclude_tags: /[23]/) }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1))) }
it { is_expected.to match_array(tags_from_strings(%w(1))) }
end
context "with non-matching regex" do
let(:generator) { GitHubChangelogGenerator::Generator.new(exclude_tags: /[abc]/) }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2 3))) }
end
end
describe "#filter_excluded_tags_regex" do
subject { generator.filter_excluded_tags(tags_mash_from_strings(%w(1 2 3))) }
subject { generator.filter_excluded_tags(tags_from_strings(%w(1 2 3))) }
context "with matching regex" do
let(:generator) { GitHubChangelogGenerator::Generator.new(exclude_tags_regex: "[23]") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1))) }
it { is_expected.to match_array(tags_from_strings(%w(1))) }
end
context "with non-matching regex" do
let(:generator) { GitHubChangelogGenerator::Generator.new(exclude_tags_regex: "[45]") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2 3))) }
end
end
describe "#filter_since_tag" do
context "with filled array" do
subject { generator.filter_since_tag(tags_mash_from_strings(%w(1 2 3))) }
subject { generator.filter_since_tag(tags_from_strings(%w(1 2 3))) }
context "with valid since tag" do
let(:generator) { GitHubChangelogGenerator::Generator.new(since_tag: "2") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1))) }
it { is_expected.to match_array(tags_from_strings(%w(1))) }
end
context "with invalid since tag" do
let(:generator) { GitHubChangelogGenerator::Generator.new(since_tag: "Invalid tag") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2 3))) }
end
end
context "with empty array" do
subject { generator.filter_since_tag(tags_mash_from_strings(%w())) }
subject { generator.filter_since_tag(tags_from_strings(%w())) }
context "with valid since tag" do
let(:generator) { GitHubChangelogGenerator::Generator.new(since_tag: "2") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w())) }
it { is_expected.to match_array(tags_from_strings(%w())) }
end
context "with invalid since tag" do
let(:generator) { GitHubChangelogGenerator::Generator.new(since_tag: "Invalid tag") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w())) }
it { is_expected.to match_array(tags_from_strings(%w())) }
end
end
end
describe "#filter_due_tag" do
context "with filled array" do
subject { generator.filter_due_tag(tags_mash_from_strings(%w(1 2 3))) }
subject { generator.filter_due_tag(tags_from_strings(%w(1 2 3))) }
context "with valid due tag" do
let(:generator) { GitHubChangelogGenerator::Generator.new(due_tag: "2") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(3))) }
it { is_expected.to match_array(tags_from_strings(%w(3))) }
end
context "with invalid due tag" do
let(:generator) { GitHubChangelogGenerator::Generator.new(due_tag: "Invalid tag") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
it { is_expected.to match_array(tags_from_strings(%w(1 2 3))) }
end
end
context "with empty array" do
subject { generator.filter_due_tag(tags_mash_from_strings(%w())) }
subject { generator.filter_due_tag(tags_from_strings(%w())) }
context "with valid due tag" do
let(:generator) { GitHubChangelogGenerator::Generator.new(due_tag: "2") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w())) }
it { is_expected.to match_array(tags_from_strings(%w())) }
end
context "with invalid due tag" do
let(:generator) { GitHubChangelogGenerator::Generator.new(due_tag: "Invalid tag") }
it { is_expected.to be_a Array }
it { is_expected.to match_array(tags_mash_from_strings(%w())) }
it { is_expected.to match_array(tags_from_strings(%w())) }
end
end
end
@@ -191,7 +191,7 @@ describe GitHubChangelogGenerator::Generator do
end
context "fetch already filled tag" do
before { @generator.instance_variable_set :@tag_times_hash, "valid_tag" => current_time }
subject { @generator.get_time_of_tag tag_mash_with_name("valid_tag") }
subject { @generator.get_time_of_tag tag_with_name("valid_tag") }
it { is_expected.to be_a_kind_of(Time) }
it { is_expected.to eq(current_time) }
end
@@ -202,7 +202,7 @@ describe GitHubChangelogGenerator::Generator do
@generator.instance_variable_set :@fetcher, mock
end
subject do
of_tag = @generator.get_time_of_tag(tag_mash_with_name("valid_tag"))
of_tag = @generator.get_time_of_tag(tag_with_name("valid_tag"))
of_tag
end
it { is_expected.to be_a_kind_of(Time) }
@@ -229,13 +229,13 @@ describe GitHubChangelogGenerator::Generator do
@generator.sort_tags_by_date(tags)
end
context "sort unsorted tags" do
let(:tags) { tags_mash_from_strings %w(valid_tag1 valid_tag2 valid_tag3) }
let(:tags) { tags_from_strings %w(valid_tag1 valid_tag2 valid_tag3) }
it { is_expected.to be_a_kind_of(Array) }
it { is_expected.to match_array(tags.reverse!) }
end
context "sort sorted tags" do
let(:tags) { tags_mash_from_strings %w(valid_tag3 valid_tag2 valid_tag1) }
let(:tags) { tags_from_strings %w(valid_tag3 valid_tag2 valid_tag1) }
it { is_expected.to be_a_kind_of(Array) }
it { is_expected.to match_array(tags) }