Commit 59b3e45831b0b211531c9be0f7aa0a7e17bd44cf

Authored by João M. M. da Silva + Alessandro Palmeira
Committed by Paulo Meireles
1 parent af361266

[Mezuro] Fixed Fixture and writing test for project

plugins/mezuro/test/fixtures/project_fixtures.rb
@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/repository_fixtures' @@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/repository_fixtures'
3 class ProjectFixtures 3 class ProjectFixtures
4 4
5 def self.qt_calculator 5 def self.qt_calculator
6 - project = Kalibro::Entities::Project.new 6 + project = Kalibro::Project.new
7 project.name = 'Qt-Calculator' 7 project.name = 'Qt-Calculator'
8 project.license = 'GPL' 8 project.license = 'GPL'
9 project.description = 'Calculator for Qt' 9 project.description = 'Calculator for Qt'
plugins/mezuro/test/unit/kalibro/client/project_client_test.rb
@@ -1,57 +0,0 @@ @@ -1,57 +0,0 @@
1 -require "test_helper"  
2 -  
3 -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_fixtures"  
4 -  
5 -class ProjectClientTest < ActiveSupport::TestCase  
6 -  
7 - def setup  
8 - @port = mock  
9 - Kalibro::Client::Port.expects(:new).with('Project').returns(@port)  
10 - @project = ProjectFixtures.qt_calculator  
11 - end  
12 -  
13 - should 'get project by name' do  
14 - request_body = {:project_name => @project.name}  
15 - response_hash = {:project => @project.to_hash}  
16 - @port.expects(:request).with(:get_project, request_body).returns(response_hash)  
17 - assert_equal @project, Kalibro::Client::ProjectClient.project(@project.name)  
18 - end  
19 -  
20 - should 'raise error when project doesnt exist' do  
21 - request_body = {:project_name => @project.name}  
22 - @port.expects(:request).with(:get_project, request_body).raises(Exception.new("(S:Server) There is no project named " + @project.name))  
23 - assert_nil Kalibro::Client::ProjectClient.project(@project.name)  
24 - end  
25 -  
26 - should 'save project' do  
27 - create_project_content_mock  
28 - @project.state = nil  
29 - @port.expects(:request).with(:save_project, {:project => @project.to_hash})  
30 - Kalibro::Client::ProjectClient.save(@project_content)  
31 - end  
32 -  
33 - should 'remove existent project from service' do  
34 - @port.expects(:request).with(:get_project_names).returns({:project_name => @project.name})  
35 - @port.expects(:request).with(:remove_project, {:project_name => @project.name})  
36 - Kalibro::Client::ProjectClient.remove(@project.name)  
37 - end  
38 -  
39 - should 'not try to remove inexistent project from service' do  
40 - @port.expects(:request).with(:get_project_names).returns({:project_name => 'Different project'})  
41 - @port.expects(:request).with(:remove_project, {:project_name => @project.name}).never  
42 - Kalibro::Client::ProjectClient.remove(@project.name)  
43 - end  
44 -  
45 - private  
46 -  
47 - def create_project_content_mock  
48 - @project_content = mock  
49 - @project_content.expects(:name).returns(@project.name)  
50 - @project_content.expects(:license).returns(@project.license)  
51 - @project_content.expects(:description).returns(@project.description)  
52 - @project_content.expects(:repository_type).returns(@project.repository.type)  
53 - @project_content.expects(:repository_url).returns(@project.repository.address)  
54 - @project_content.expects(:configuration_name).returns(@project.configuration_name)  
55 - end  
56 -  
57 -end  
plugins/mezuro/test/unit/kalibro/entities/project_test.rb
@@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
1 -require "test_helper"  
2 -  
3 -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_fixtures"  
4 -  
5 -class ProjectTest < ActiveSupport::TestCase  
6 -  
7 - def setup  
8 - @hash = ProjectFixtures.qt_calculator_hash  
9 - @project = ProjectFixtures.qt_calculator  
10 - end  
11 -  
12 - should 'create project from hash' do  
13 - assert_equal @project, Kalibro::Entities::Project.from_hash(@hash)  
14 - end  
15 -  
16 - should 'convert project to hash' do  
17 - assert_equal @hash, @project.to_hash  
18 - end  
19 -  
20 -end  
21 \ No newline at end of file 0 \ No newline at end of file
plugins/mezuro/test/unit/kalibro/project_test.rb 0 → 100644
@@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
  1 +require "test_helper"
  2 +
  3 +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_fixtures"
  4 +
  5 +class ProjectTest < ActiveSupport::TestCase
  6 +
  7 + def setup
  8 + @hash = ProjectFixtures.qt_calculator_hash
  9 + @project = ProjectFixtures.qt_calculator
  10 + end
  11 +
  12 + should 'get project by name' do
  13 + request_body = {:project_name => @project.name}
  14 + response_hash = {:project => @hash}
  15 + Kalibro::Project.expects(:request).with(:get_project, request_body).returns(response_hash)
  16 + assert_equal @project, Kalibro::Project.find_by_name(@project.name)
  17 + end
  18 +
  19 +=begin
  20 + should 'raise error when project doesnt exist' do
  21 + request_body = {:project_name => @project.name}
  22 + @port.expects(:request).with(:get_project, request_body).raises(Exception.new("(S:Server) There is no project named " + @project.name))
  23 + assert_nil Kalibro::Client::ProjectClient.project(@project.name)
  24 + end
  25 +
  26 + should 'save project' do
  27 + create_project_content_mock
  28 + @project.state = nil
  29 + @port.expects(:request).with(:save_project, {:project => @project.to_hash})
  30 + Kalibro::Client::ProjectClient.save(@project_content)
  31 + end
  32 +
  33 + should 'remove existent project from service' do
  34 + @port.expects(:request).with(:get_project_names).returns({:project_name => @project.name})
  35 + @port.expects(:request).with(:remove_project, {:project_name => @project.name})
  36 + Kalibro::Client::ProjectClient.remove(@project.name)
  37 + end
  38 +
  39 + should 'not try to remove inexistent project from service' do
  40 + @port.expects(:request).with(:get_project_names).returns({:project_name => 'Different project'})
  41 + @port.expects(:request).with(:remove_project, {:project_name => @project.name}).never
  42 + Kalibro::Client::ProjectClient.remove(@project.name)
  43 + end
  44 +
  45 + private
  46 +
  47 + def create_project_content_mock
  48 + @project_content = mock
  49 + @project_content.expects(:name).returns(@project.name)
  50 + @project_content.expects(:license).returns(@project.license)
  51 + @project_content.expects(:description).returns(@project.description)
  52 + @project_content.expects(:repository_type).returns(@project.repository.type)
  53 + @project_content.expects(:repository_url).returns(@project.repository.address)
  54 + @project_content.expects(:configuration_name).returns(@project.configuration_name)
  55 + end
  56 +
  57 + should 'create project from hash' do
  58 + assert_equal @project, Kalibro::Project.new(@hash)
  59 + end
  60 +
  61 + should 'convert project to hash' do
  62 + assert_equal @hash, @project.to_hash
  63 + end
  64 +=end
  65 +end