require 'rails_helper'

RSpec.describe Licitacao::CategoriaDoPedido, type: :model do
	it { is_expected.to belong_to :pedido }
	it { is_expected.to belong_to(:categoria).class_name("Base::Categoria").required }
	it { is_expected.to belong_to(:subcategoria).class_name("Base::Categoria") }

	describe '#categorias_dos_itens' do
		it 'quando ouver a subcategoria' do
			categoria_do_pedido = FactoryBot.create(:licitacao_categorias_do_pedido)
			expect(categoria_do_pedido.categoria_do_item.class).to eql Base::Categoria
		end
		it 'quando a categoria não tiver subcategorias ' do
			categoria_do_pedido = FactoryBot.create(:licitacao_categorias_do_pedido, subcategoria: nil)
			categoria_do_pedido.reload
			expect(categoria_do_pedido.categoria_do_item.class).to eql Base::Categoria
		end
		it 'quando a categoria tiver subcategorias' do
			categoria = Base::Categoria.create FactoryBot.attributes_for(:categoria)
			subcategoria = Base::Categoria.create FactoryBot.attributes_for(:subcategoria)
			categoria.reload
			categoria_do_pedido = FactoryBot.create(:licitacao_categorias_do_pedido, subcategoria: nil,categoria_id: categoria.id, subcategoria_id: subcategoria.id)
			categoria_do_pedido.reload
			expect(categoria_do_pedido.categoria_do_item.model).to eql Base::Categoria
		end
	end
end
