module SpecFixtures def self.valid_user_parameters { :first_name => 'Joe', :last_name => 'Bloggs', :email => 'joe@bloggs.com', :homepage => 'http://www.joebloggs.com', :password => 'testpassword', :password_confirmation => 'testpassword' } end def self.create_sample_user(email) user = User.new(SpecFixtures.valid_user_parameters.except(:email)) user.email = email user.save user end def self.valid_plugin_parameters { :root => 'http://some-repos.com/', :auto_updatable => true, :name => 'great_plugin' } end def self.sample_plugin Release.any_instance.stubs(:load_data_from_plugin_meta).returns(true) plugin = Plugin.new(self.valid_plugin_parameters) plugin.stubs(:scan_root_for_releases).returns(Proc.new { plugin.releases.create( :source_url => plugin.root, :name => 'bleeding_edge', :author => 'Testy McTest', :email => 'test@testy.com', :homepage => 'http://www.mygreathomepage.com', :revision_number => 1234 ) }) plugin.save plugin end def self.sample_release Release.create( :source_url => 'http://someplugin/path', :name => 'bleeding_edge', :author => 'Testy McTest', :email => 'test@testy.com', :homepage => 'http://www.mygreathomepage.com', :plugin => self.sample_plugin, :revision_number => 1234 ) end def self.valid_comment_parameters { :user => self.create_sample_user('joe@bloggs.com'), :text => 'this is a test', :Release => self.sample_Release } end def self.valid_test_result_parameters(revision_number = 1234, percentage = 100) { :ruby_version => '1.8.4', :rails_version => '1.1.6', :plugin => SpecFixtures.sample_plugin, :percentage_passed => percentage, :revision_number => revision_number } end end