require 'rails_helper'

RSpec.describe Licitacao::ItemDoPedidoPorPessoa, type: :model do
	it { is_expected.to belong_to(:item_do_pedido) }
	it { is_expected.to belong_to(:pessoa_do_pedido) }

	subject { FactoryBot.build :licitacao_item_do_pedido_por_pessoa }
	it{ is_expected.to validate_uniqueness_of(:pessoa_do_pedido_id).scoped_to(:item_do_pedido_id) }
	it{ is_expected.to validate_presence_of(:item_do_pedido_id) }
	it{ is_expected.to validate_presence_of(:pessoa_do_pedido_id) }
	it{ is_expected.to validate_presence_of(:marca) }

	it{ is_expected.to validate_numericality_of( :preco_de_cotacao ).is_greater_than(0) }


	describe "validate_presence_of motivo" do
		subject(:licitacao_item_do_pedido_por_pessoa) {
			Licitacao::ItemDoPedidoPorPessoa.new (FactoryBot.attributes_for(:licitacao_item_do_pedido_por_pessoa, valido: false, motivo: "Preço alto"))
		}
		it{ is_expected.to validate_presence_of(:motivo) }
	end

	describe '#total' do
		it 'retorna a multiplicação do preço do fornecedor pela quantidade de itens do pedido' do
			licitacao_item_do_pedido_por_pessoa = FactoryBot.create(:licitacao_item_do_pedido_por_pessoa) #quantidade é 10 e preço é 9.99
			expect(licitacao_item_do_pedido_por_pessoa.total).to eq 99.9
		end
	end
end
