require 'spec_helper' describe Medivo::PdfGenerator do describe "#variable_fields generates pdf by filling in the variables" do it "for negative results cover letter" do name = "Duderoni" path = medivo_fixture_path "negative_results.pdf" pdf_file = Medivo::PdfGenerator.variable_fields(path, {:patient_name=>name}) text = pdf_to_text(pdf_file) text.should match name pdf_file.unlink end it "for uhc requisition cover letter" do fields = { :full_name => 'my full name', :address => 'my address', :first_name => 'me!!!!!', :sched_date => 'todays date', :app_date => 'my appt date', :app_time => 'appt time', # small field .. so too much text will break test :lab_name => 'LabCorp', :lab_address => 'the lab address', :order_number => 'the lab id' } path = medivo_fixture_path "uhc_requisition_cover_letter.pdf" pdf_file = Medivo::PdfGenerator.variable_fields(path, fields) text = pdf_to_text(pdf_file) text = text.strip_space fields.values.each do |value| text.should match value.strip_space end pdf_file.unlink end end it "#variable_fields_with_images accepts image param and stamps image onto pdf" do md = <<-MD Catherine E. Palmier, M.D. Chief Medical Officer, UnitedHealthcare Clinical Services Southeast Region MD fields = { :full_name => 'my full name', :address => 'my address', :first_name => 'me!!!!!', :sched_date => 'todays date', :app_date => 'my appt date', :app_time => 'appt time', # small field .. so too much text will break test :lab_name => 'LabCorp', :lab_address => 'the lab address', :order_number => 'the lab id', :director_name=>md } path = medivo_fixture_path "uhc_requisition_cover_letter.pdf" img_path = medivo_fixture_path "Southeast.jpg" pdf_file = Medivo::PdfGenerator.variable_fields_with_images( path, fields, [{:path=> img_path, :options=>{:at=> [40, 100], :width=>180, :height=>28}}] ) show_me_the_pdf(pdf_file, '/tmp/test.pdf') text = pdf_to_text(pdf_file) text.strip_space.should match "Catherine E. Palmier, M.D.".strip_space pdf_file.unlink end end