add tests

This commit is contained in:
Petr Korolev 2015-05-25 18:04:32 +03:00
parent 0e352886ea
commit d4664e389d
4 changed files with 36 additions and 8 deletions

View File

@ -15,7 +15,7 @@ module GitHubChangelogGenerator
"This script can make only 50 requests to GitHub API per hour without token!" "This script can make only 50 requests to GitHub API per hour without token!"
def initialize(options = {}) def initialize(options = {})
@options = options @options = options || {}
@logger = Logger.new(STDOUT) @logger = Logger.new(STDOUT)
@logger.formatter = proc do |_severity, _datetime, _progname, msg| @logger.formatter = proc do |_severity, _datetime, _progname, msg|
@ -28,8 +28,8 @@ module GitHubChangelogGenerator
@tag_times_hash = {} @tag_times_hash = {}
github_options = { per_page: PER_PAGE_NUMBER } github_options = { per_page: PER_PAGE_NUMBER }
github_options[:oauth_token] = @github_token unless @github_token.nil? github_options[:oauth_token] = @github_token unless @github_token.nil?
github_options[:endpoint] = options[:github_endpoint] unless options[:github_endpoint].nil? github_options[:endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].nil?
github_options[:site] = options[:github_endpoint] unless options[:github_site].nil? github_options[:site] = @options[:github_endpoint] unless @options[:github_site].nil?
@github = check_github_response { Github.new github_options } @github = check_github_response { Github.new github_options }
end end

View File

@ -18,13 +18,9 @@ module GitHubChangelogGenerator
# generator = GitHubChangelogGenerator::Generator.new # generator = GitHubChangelogGenerator::Generator.new
# content = generator.compound_changelog # content = generator.compound_changelog
def initialize(options = nil) def initialize(options = nil)
@options = options @options = options || {}
@fetcher = GitHubChangelogGenerator::Fetcher.new @options @fetcher = GitHubChangelogGenerator::Fetcher.new @options
fetch_and_filter_tags
fetch_issues_and_pr
end end
def fetch_issues_and_pr def fetch_issues_and_pr

View File

@ -4,6 +4,9 @@ module GitHubChangelogGenerator
# #
# @return [String] Generated change log file # @return [String] Generated change log file
def compound_changelog def compound_changelog
fetch_and_filter_tags
fetch_issues_and_pr
log = "# Change Log\n\n" log = "# Change Log\n\n"
if @options[:unreleased_only] if @options[:unreleased_only]

View File

@ -0,0 +1,29 @@
describe GitHubChangelogGenerator::Generator do
describe "#get_filtered_tags" do
before(:all) do
@generator = GitHubChangelogGenerator::Generator.new
end
context "when between_tags nil" do
# before(:each) do
# @generator.options = {}
# end
subject { @generator.get_filtered_tags(%w(1 2 3)) }
it { is_expected.to be_a(Array) }
it { is_expected.to match_array(%w(1 2 3)) }
end
context "when between_tags 1" do
# before(:each) do
# @generator.options = {between_tags: ["1"]}
# end
subject do
@generator.instance_variable_set("@options", between_tags: ["1"])
@generator.get_filtered_tags(%w(1 2 3))
end
it { is_expected.to be_a(Array) }
it { is_expected.to match_array(%w(1)) }
end
end
end