require "rails_helper"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		it "roteia para #convidar" do
			expect(:patch => "/licitacao/pedidos/1/convidar/1").to route_to("licitacao/pedidos#convidar", :id => "1", :pessoa_do_pedido_id => "1")
		end

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

		it "roteia para #anular_preco" do
			expect(:post => "/licitacao/pedidos/1/anular_preco/1").to route_to("licitacao/pedidos#anular_preco", :id => "1", :item_do_pedido_por_pessoa_id => "1")
		end
		it "roteia para #confirmar_cancelamento" do
			expect(:get => "/licitacao/pedidos/1/cancelar").to route_to("licitacao/pedidos#confirmar_cancelamento", :id => "1")
		end

		it "não roteia para #cancelar via PUT" do
			expect(:put => "/licitacao/pedidos/1/cancelar").not_to route_to("licitacao/pedidos#cancelar", :id => "1")
		end

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

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

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

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

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

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

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

		it "roteia para #duplicar via POST" do
			expect(:post => "/licitacao/pedidos/1/duplicar").to route_to("licitacao/pedidos#duplicar", :id => "1")
		end

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

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

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

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

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

	end
end
