diff --git a/spec/errbit_plugin/mock_issue_tracker.rb b/spec/errbit_plugin/mock_issue_tracker.rb new file mode 100644 index 0000000..3c2d1f8 --- /dev/null +++ b/spec/errbit_plugin/mock_issue_tracker.rb @@ -0,0 +1,48 @@ +module ErrbitPlugin + class MockIssueTracker < IssueTracker + def self.label + 'mock' + end + + def self.note + 'A fake issue tracker to help in testing purpose' + end + + def self.fields + { + :foo => {:label => 'foo'}, + :bar => {:label => 'bar'} + } + end + + attr_accessor :output + + def initialize(*) + super + @output = [] + end + + def configured? + !errors.any? + end + + def errors + errors = {} + errors[:foo] = 'foo is required' unless options[:foo] + errors[:bar] = 'bar is required' unless options[:bar] + + errors + end + + def create_issue(title, body, user) + @output << [title, body, user] + true + end + + def url; ''; end + + def comments_allowed?; false; end + end +end + +ErrbitPlugin::Registry.add_issue_tracker(ErrbitPlugin::MockIssueTracker) diff --git a/spec/fabricators/issue_tracker_fabricator.rb b/spec/fabricators/issue_tracker_fabricator.rb index fe11a5c..5e2314a 100644 --- a/spec/fabricators/issue_tracker_fabricator.rb +++ b/spec/fabricators/issue_tracker_fabricator.rb @@ -1,5 +1,5 @@ Fabricator :issue_tracker do - type_tracker 'fake' + type_tracker 'mock' options {{ :foo => 'one', :bar => 'two' diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index a4f2b14..83a043b 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -25,8 +25,7 @@ require 'webmock/rspec' require 'xmpp4r' require 'xmpp4r/muc' require 'mongoid-rspec' -require 'errbit_plugin/issue_trackers/fake' - +require 'errbit_plugin/mock_issue_tracker' # Requires supporting files with custom matchers and macros, etc, # in ./support/ and its subdirectories. -- libgit2 0.21.2