Commit 29bc97929fba74c161b11c39ede61abd85b68f3c
Committed by
Diego Martinez
1 parent
1cdaecd5
Exists in
staging
and in
42 other branches
[Mezuro] Refactored and tested repository controller.
Showing
2 changed files
with
29 additions
and
8 deletions
Show diff stats
plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb
| @@ -55,18 +55,18 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController | @@ -55,18 +55,18 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController | ||
| 55 | end | 55 | end |
| 56 | end | 56 | end |
| 57 | 57 | ||
| 58 | - def show #TODO verificar data_content e data_profile | 58 | + def show |
| 59 | project_content = profile.articles.find(params[:id]) | 59 | project_content = profile.articles.find(params[:id]) |
| 60 | @project_name = project_content.name | 60 | @project_name = project_content.name |
| 61 | - @repository = project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_s }.first | 61 | + @repository = project_content.repositories.select{ |repository| repository.id.to_s == params[:repository_id] }.first |
| 62 | @configuration_name = Kalibro::Configuration.configuration_of(@repository.id).name | 62 | @configuration_name = Kalibro::Configuration.configuration_of(@repository.id).name |
| 63 | @data_profile = project_content.profile.identifier | 63 | @data_profile = project_content.profile.identifier |
| 64 | @data_content = project_content.id | 64 | @data_content = project_content.id |
| 65 | end | 65 | end |
| 66 | 66 | ||
| 67 | - def destroy #TODO verificar se está correto | 67 | + def destroy |
| 68 | project_content = profile.articles.find(params[:id]) | 68 | project_content = profile.articles.find(params[:id]) |
| 69 | - repository = project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_s }.first | 69 | + repository = project_content.repositories.select{ |repository| repository.id.to_s == params[:repository_id] }.first |
| 70 | repository.destroy | 70 | repository.destroy |
| 71 | if( repository.errors.empty? ) | 71 | if( repository.errors.empty? ) |
| 72 | redirect_to "/#{profile.identifier}/#{project_content.name.downcase.gsub(/\s/, '-')}" | 72 | redirect_to "/#{profile.identifier}/#{project_content.name.downcase.gsub(/\s/, '-')}" |
plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb
| @@ -6,7 +6,6 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures" | @@ -6,7 +6,6 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures" | ||
| 6 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_content_fixtures" | 6 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_content_fixtures" |
| 7 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" | 7 | require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" |
| 8 | 8 | ||
| 9 | -#TODO terminar os testes | ||
| 10 | class MezuroPluginRepositoryControllerTest < ActionController::TestCase | 9 | class MezuroPluginRepositoryControllerTest < ActionController::TestCase |
| 11 | 10 | ||
| 12 | def setup | 11 | def setup |
| @@ -87,14 +86,36 @@ class MezuroPluginRepositoryControllerTest < ActionController::TestCase | @@ -87,14 +86,36 @@ class MezuroPluginRepositoryControllerTest < ActionController::TestCase | ||
| 87 | assert_response :redirect | 86 | assert_response :redirect |
| 88 | end | 87 | end |
| 89 | 88 | ||
| 90 | - should 'set variables to show a repository' do #TODO Terminar esse teste | 89 | + should 'set variables to show a repository' do |
| 91 | Kalibro::Repository.expects(:repositories_of).with(@content.project_id).returns([@repository]) | 90 | Kalibro::Repository.expects(:repositories_of).with(@content.project_id).returns([@repository]) |
| 92 | Kalibro::Configuration.expects(:configuration_of).with(@repository.id).returns(@configuration) | 91 | Kalibro::Configuration.expects(:configuration_of).with(@repository.id).returns(@configuration) |
| 93 | 92 | ||
| 93 | + get :show, :profile => @profile.identifier, :id => @content.id, :repository_id => @repository.id | ||
| 94 | assert_equal @content.name, assigns(:project_name) | 94 | assert_equal @content.name, assigns(:project_name) |
| 95 | assert_equal @repository, assigns(:repository) | 95 | assert_equal @repository, assigns(:repository) |
| 96 | -# @configuration_name = Kalibro::Configuration.find(@repository.configuration_id).name | ||
| 97 | -# @processing = processing(@repository.id) | 96 | + assert_equal @configuration.name, assigns(:configuration_name) |
| 97 | + assert_equal @content.profile.identifier, assigns(:data_profile) | ||
| 98 | + assert_equal @content.id, assigns(:data_content) | ||
| 98 | end | 99 | end |
| 99 | 100 | ||
| 101 | + should 'destroy a repository' do | ||
| 102 | + @repository.expects(:destroy) | ||
| 103 | + Kalibro::Repository.expects(:repositories_of).with(@content.project_id).returns([@repository]) | ||
| 104 | + | ||
| 105 | + get :destroy, :profile => @profile.identifier, :id => @content.id, :repository_id => @repository.id | ||
| 106 | + | ||
| 107 | + assert @repository.errors.empty? | ||
| 108 | + assert_response :redirect | ||
| 109 | + end | ||
| 110 | + | ||
| 111 | + should 'not destroy a repository' do | ||
| 112 | + @repository.errors = [Exception.new] | ||
| 113 | + @repository.expects(:destroy) | ||
| 114 | + Kalibro::Repository.expects(:repositories_of).with(@content.project_id).returns([@repository]) | ||
| 115 | + | ||
| 116 | + get :destroy, :profile => @profile.identifier, :id => @content.id, :repository_id => @repository.id | ||
| 117 | + | ||
| 118 | + assert !@repository.errors.empty? | ||
| 119 | + assert_response :redirect | ||
| 120 | + end | ||
| 100 | end | 121 | end |