diff --git a/plugins/mezuro/test/fixtures/project_fixtures.rb b/plugins/mezuro/test/fixtures/project_fixtures.rb index 7392709..3af29d8 100644 --- a/plugins/mezuro/test/fixtures/project_fixtures.rb +++ b/plugins/mezuro/test/fixtures/project_fixtures.rb @@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/repository_fixtures' class ProjectFixtures def self.qt_calculator - project = Kalibro::Entities::Project.new + project = Kalibro::Project.new project.name = 'Qt-Calculator' project.license = 'GPL' project.description = 'Calculator for Qt' diff --git a/plugins/mezuro/test/unit/kalibro/client/project_client_test.rb b/plugins/mezuro/test/unit/kalibro/client/project_client_test.rb deleted file mode 100644 index 61a2e5d..0000000 --- a/plugins/mezuro/test/unit/kalibro/client/project_client_test.rb +++ /dev/null @@ -1,57 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_fixtures" - -class ProjectClientTest < ActiveSupport::TestCase - - def setup - @port = mock - Kalibro::Client::Port.expects(:new).with('Project').returns(@port) - @project = ProjectFixtures.qt_calculator - end - - should 'get project by name' do - request_body = {:project_name => @project.name} - response_hash = {:project => @project.to_hash} - @port.expects(:request).with(:get_project, request_body).returns(response_hash) - assert_equal @project, Kalibro::Client::ProjectClient.project(@project.name) - end - - should 'raise error when project doesnt exist' do - request_body = {:project_name => @project.name} - @port.expects(:request).with(:get_project, request_body).raises(Exception.new("(S:Server) There is no project named " + @project.name)) - assert_nil Kalibro::Client::ProjectClient.project(@project.name) - end - - should 'save project' do - create_project_content_mock - @project.state = nil - @port.expects(:request).with(:save_project, {:project => @project.to_hash}) - Kalibro::Client::ProjectClient.save(@project_content) - end - - should 'remove existent project from service' do - @port.expects(:request).with(:get_project_names).returns({:project_name => @project.name}) - @port.expects(:request).with(:remove_project, {:project_name => @project.name}) - Kalibro::Client::ProjectClient.remove(@project.name) - end - - should 'not try to remove inexistent project from service' do - @port.expects(:request).with(:get_project_names).returns({:project_name => 'Different project'}) - @port.expects(:request).with(:remove_project, {:project_name => @project.name}).never - Kalibro::Client::ProjectClient.remove(@project.name) - end - - private - - def create_project_content_mock - @project_content = mock - @project_content.expects(:name).returns(@project.name) - @project_content.expects(:license).returns(@project.license) - @project_content.expects(:description).returns(@project.description) - @project_content.expects(:repository_type).returns(@project.repository.type) - @project_content.expects(:repository_url).returns(@project.repository.address) - @project_content.expects(:configuration_name).returns(@project.configuration_name) - end - -end diff --git a/plugins/mezuro/test/unit/kalibro/entities/project_test.rb b/plugins/mezuro/test/unit/kalibro/entities/project_test.rb deleted file mode 100644 index 181d3d1..0000000 --- a/plugins/mezuro/test/unit/kalibro/entities/project_test.rb +++ /dev/null @@ -1,20 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_fixtures" - -class ProjectTest < ActiveSupport::TestCase - - def setup - @hash = ProjectFixtures.qt_calculator_hash - @project = ProjectFixtures.qt_calculator - end - - should 'create project from hash' do - assert_equal @project, Kalibro::Entities::Project.from_hash(@hash) - end - - should 'convert project to hash' do - assert_equal @hash, @project.to_hash - end - -end \ No newline at end of file diff --git a/plugins/mezuro/test/unit/kalibro/project_test.rb b/plugins/mezuro/test/unit/kalibro/project_test.rb new file mode 100644 index 0000000..9ace26d --- /dev/null +++ b/plugins/mezuro/test/unit/kalibro/project_test.rb @@ -0,0 +1,65 @@ +require "test_helper" + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_fixtures" + +class ProjectTest < ActiveSupport::TestCase + + def setup + @hash = ProjectFixtures.qt_calculator_hash + @project = ProjectFixtures.qt_calculator + end + + should 'get project by name' do + request_body = {:project_name => @project.name} + response_hash = {:project => @hash} + Kalibro::Project.expects(:request).with(:get_project, request_body).returns(response_hash) + assert_equal @project, Kalibro::Project.find_by_name(@project.name) + end + +=begin + should 'raise error when project doesnt exist' do + request_body = {:project_name => @project.name} + @port.expects(:request).with(:get_project, request_body).raises(Exception.new("(S:Server) There is no project named " + @project.name)) + assert_nil Kalibro::Client::ProjectClient.project(@project.name) + end + + should 'save project' do + create_project_content_mock + @project.state = nil + @port.expects(:request).with(:save_project, {:project => @project.to_hash}) + Kalibro::Client::ProjectClient.save(@project_content) + end + + should 'remove existent project from service' do + @port.expects(:request).with(:get_project_names).returns({:project_name => @project.name}) + @port.expects(:request).with(:remove_project, {:project_name => @project.name}) + Kalibro::Client::ProjectClient.remove(@project.name) + end + + should 'not try to remove inexistent project from service' do + @port.expects(:request).with(:get_project_names).returns({:project_name => 'Different project'}) + @port.expects(:request).with(:remove_project, {:project_name => @project.name}).never + Kalibro::Client::ProjectClient.remove(@project.name) + end + + private + + def create_project_content_mock + @project_content = mock + @project_content.expects(:name).returns(@project.name) + @project_content.expects(:license).returns(@project.license) + @project_content.expects(:description).returns(@project.description) + @project_content.expects(:repository_type).returns(@project.repository.type) + @project_content.expects(:repository_url).returns(@project.repository.address) + @project_content.expects(:configuration_name).returns(@project.configuration_name) + end + + should 'create project from hash' do + assert_equal @project, Kalibro::Project.new(@hash) + end + + should 'convert project to hash' do + assert_equal @hash, @project.to_hash + end +=end +end -- libgit2 0.21.2