diff --git a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb index e830989..efd9f32 100644 --- a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb +++ b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb @@ -55,18 +55,18 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController end end - def show #TODO verificar data_content e data_profile + def show project_content = profile.articles.find(params[:id]) @project_name = project_content.name - @repository = project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_s }.first + @repository = project_content.repositories.select{ |repository| repository.id.to_s == params[:repository_id] }.first @configuration_name = Kalibro::Configuration.configuration_of(@repository.id).name @data_profile = project_content.profile.identifier @data_content = project_content.id end - def destroy #TODO verificar se está correto + def destroy project_content = profile.articles.find(params[:id]) - repository = project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_s }.first + repository = project_content.repositories.select{ |repository| repository.id.to_s == params[:repository_id] }.first repository.destroy if( repository.errors.empty? ) redirect_to "/#{profile.identifier}/#{project_content.name.downcase.gsub(/\s/, '-')}" diff --git a/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb b/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb index a036d74..7e4cc07 100644 --- a/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb +++ b/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb @@ -6,7 +6,6 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_content_fixtures" require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" -#TODO terminar os testes class MezuroPluginRepositoryControllerTest < ActionController::TestCase def setup @@ -87,14 +86,36 @@ class MezuroPluginRepositoryControllerTest < ActionController::TestCase assert_response :redirect end - should 'set variables to show a repository' do #TODO Terminar esse teste + should 'set variables to show a repository' do Kalibro::Repository.expects(:repositories_of).with(@content.project_id).returns([@repository]) Kalibro::Configuration.expects(:configuration_of).with(@repository.id).returns(@configuration) + get :show, :profile => @profile.identifier, :id => @content.id, :repository_id => @repository.id assert_equal @content.name, assigns(:project_name) assert_equal @repository, assigns(:repository) -# @configuration_name = Kalibro::Configuration.find(@repository.configuration_id).name -# @processing = processing(@repository.id) + assert_equal @configuration.name, assigns(:configuration_name) + assert_equal @content.profile.identifier, assigns(:data_profile) + assert_equal @content.id, assigns(:data_content) end + should 'destroy a repository' do + @repository.expects(:destroy) + Kalibro::Repository.expects(:repositories_of).with(@content.project_id).returns([@repository]) + + get :destroy, :profile => @profile.identifier, :id => @content.id, :repository_id => @repository.id + + assert @repository.errors.empty? + assert_response :redirect + end + + should 'not destroy a repository' do + @repository.errors = [Exception.new] + @repository.expects(:destroy) + Kalibro::Repository.expects(:repositories_of).with(@content.project_id).returns([@repository]) + + get :destroy, :profile => @profile.identifier, :id => @content.id, :repository_id => @repository.id + + assert !@repository.errors.empty? + assert_response :redirect + end end -- libgit2 0.21.2