require "rails_helper"

RSpec.describe Licitacao::ProjetosController, type: :routing do
	describe "routing" do

		it "roteia para #index" do
			expect(:get => "/licitacao/projetos").to route_to("licitacao/projetos#index", :projeto_basico => true)
		end

		it "roteia para #new" do
			expect(:get => "/licitacao/projetos/new").to route_to("licitacao/projetos#new")
		end

		it "roteia para #show" do
			expect(:get => "/licitacao/projetos/1").to route_to("licitacao/projetos#show", :id => "1")
		end

		it "roteia para #edit" do
			expect(:get => "/licitacao/projetos/1/edit").to route_to("licitacao/projetos#edit", :id => "1")
		end

		it "roteia para #create" do
			expect(:post => "/licitacao/projetos").to route_to("licitacao/projetos#create")
		end

		it "roteia para #update via PUT" do
			expect(:put => "/licitacao/projetos/1").to route_to("licitacao/projetos#update", :id => "1")
		end

		it "roteia para #update via PATCH" do
			expect(:patch => "/licitacao/projetos/1").to route_to("licitacao/projetos#update", :id => "1")
		end

		it "roteia para #deleta_processo via PATCH" do
			expect(:patch => "/licitacao/projetos/1/deleta_processo").to route_to("licitacao/projetos#deleta_processo", :id => "1")
		end

		it "roteia para #destroy" do
			expect(:delete => "/licitacao/projetos/1").to route_to("licitacao/projetos#destroy", :id => "1")
		end

		it "roteia para #cancelar via PATCH" do
			expect(:patch => "/licitacao/projetos/1/cancelar").to route_to("licitacao/projetos#cancelar", :id => "1")
		end

		it "roteia para #encaminhar_para_comissao via PATCH" do
			expect(:patch => "/licitacao/projetos/1/encaminhar_para_comissao").to route_to("licitacao/projetos#encaminhar_para_comissao", :id => "1")
		end

		it "roteia para #encaminhar_para_controladoria via PATCH" do
			expect(:patch => "/licitacao/projetos/1/encaminhar_para_controladoria").to route_to("licitacao/projetos#encaminhar_para_controladoria", :id => "1")
		end

		it "roteia para #encaminhar_para_autorizacao via PATCH" do
			expect(:patch => "/licitacao/projetos/1/encaminhar_para_autorizacao").to route_to("licitacao/projetos#encaminhar_para_autorizacao", :id => "1")
		end

		it "roteia para #autorizar via PATCH" do
			expect(:patch => "/licitacao/projetos/1/autorizar").to route_to("licitacao/projetos#autorizar", :id => "1")
		end

		it "roteia para #retorna_modalidades_de_licitacao via GET" do
			expect(:get => "/licitacao/projetos/processo_licitatorio/retorna_modalidades_de_licitacao").to route_to("licitacao/projetos#retorna_modalidades_de_licitacao", :modalidade_do_processo_enum => "processo_licitatorio")
		end

		it "roteia para #retorna_criterios_de_julgamento via GET" do
			expect(:get => "/licitacao/projetos/tecnica_e_precos/retorna_criterios_de_julgamento").to route_to("licitacao/projetos#retorna_criterios_de_julgamento", :modalidade_de_licitacao_enum => "tecnica_e_precos")
		end

		it "roteia para #editar_operacoes via GET" do
			expect(:get => "/licitacao/projetos/1/operacoes").to route_to("licitacao/projetos#editar_operacoes", :id => "1")
		end

		it "roteia para #atualizar_operacoes via PATCH" do
			expect(:patch => "/licitacao/projetos/1/operacoes").to route_to("licitacao/projetos#atualizar_operacoes", :id => "1")
		end

		it "roteia para #editar_acoes_das_operacoes via GET" do
			expect(:get => "/licitacao/projetos/1/acoes_das_operacoes").to route_to("licitacao/projetos#editar_acoes_das_operacoes", :id => "1")
		end

		it "roteia para #atualizar_acoes_das_operacoes via PATCH" do
			expect(:patch => "/licitacao/projetos/1/acoes_das_operacoes").to route_to("licitacao/projetos#atualizar_acoes_das_operacoes", :id => "1")
		end

	end
end
