require 'rails_helper'

RSpec.describe Tcm::Arquivo, type: :model do
	cria_configuracao_default
	it{ is_expected.to belong_to :lote }

	it{ is_expected.to validate_presence_of :nome }

	describe 'nome do objeto' do

		it 'é um orgão' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'OR201001.BAS')
			expect(@arquivo.nome_do_objeto).to include "Órgãos"
		end

		it 'é um elemento de despesa por projetos e atividades' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'EP201001.ORC')

			expect(@arquivo.nome_do_objeto).to include "Elementos de despesa por projetos e atividades"
		end

		it 'é um orçamento de despesas por projetos e atividades' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'PA201001.ORC')

			expect(@arquivo.nome_do_objeto).to include "Orçamento de despesas por projetos e atividades"
		end

		it 'é um orçamento da receita' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'RE201001.ORC')

			expect(@arquivo.nome_do_objeto).to include "Orçamento da receita"
		end

		it 'é um orçamento de despesa' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'DE201001.ORC')

			expect(@arquivo.nome_do_objeto).to include "Orçamento da Despesa"
		end

		it 'é um programa de governo' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'PG201001.ORC')

			expect(@arquivo.nome_do_objeto).to include "Programas de Governo"
		end

		it 'é uma unidade orçamentaria' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'UO201001.BAS')

			expect(@arquivo.nome_do_objeto).to include "Unidades Orçamentárias"
		end

		it 'lote de dados do orçamento' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'DO201001.ORC')

			expect(@arquivo.nome_do_objeto).to include "Dados do Orçamento"
		end

		it 'lote de dados dos processos ' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'LI201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Processos Administrativos para aquisição de bens e serviços"
		end

		it 'lote de dados das publicações dos processos' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'PE201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Publicações de Procs. Admin. para aquisições de bens e serviços"
		end

		it 'lote de dados das comissões' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'CL201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Comissões de Licitações"
		end

		it 'lote de dados dos membros das comissões' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'MC201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Membros das Comissões de Licitação"
		end

		it 'lote de dados dos licitantes' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'LT201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Licitantes e Fornecedores de bens e serviços"
		end

		it 'lote de dados dos itens da licitação' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'TL201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Itens que compõem os bens e serviços"
		end

		it 'lote de dados das dotações das licitações' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'DL201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Dotações utilizadas para aquisição de bens e serviços"
		end

		it 'lote de dados dos contratos' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'CO201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Contratos"
		end

		it 'lote de dados dos contratados' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: 'CT201001.LCO')
			expect(@arquivo.nome_do_objeto).to include "Contratados"
		end

		it 'é desconhecido' do
			@arquivo = FactoryBot.build(:tcm_arquivo, nome: '')

			expect(@arquivo.nome_do_objeto).to include "Não Identificado"
		end

	end

end
