require 'spec_helper' describe Medivo::Order do it "requires fields to be present" do order = Medivo::Order.new({:email=>"dude"}) order.valid? order.errors.messages.keys.should_not include :email order.errors.messages.keys.should include :address, :zip, :dob, :home_phone, :psc, :test_types, :gender, :account_number end it "requires proper gender" do order = Medivo::Order.new({:gender=>"dude"}) order.valid? order.errors.messages[:gender].should include "is not included in the list" end it "requires proper dob" do order = Medivo::Order.new({:dob=>"20110103"}) order.valid? order.errors.messages[:dob].should == nil order.dob = "201101" order.valid? order.errors.messages[:dob].should include "invalid dob. needs to be in '%Y%m%d' format" end it "test_types should be an array" do order = Medivo::Order.new({:test_types=>[1,2]}) order.valid? order.errors.messages[:test_types].should == nil end it "sets default fields" do order = Medivo::Order.new order.draw_location.should == 'PSC' order.take_tests_same_day.should == true end #it "incorrect test ids returning 404" do # stub_request(:post, "http://test:test@test.medivo.com/customers.xml"). # to_return(:status => 404) # order = Medivo::Order.new # p order.save(:validate => false) #end end describe Medivo::InsuranceOrder do it "requires primary insurance" do order = Medivo::InsuranceOrder.new order.valid? order.errors.messages[:primary_insurance].should include "primary_insurance field must be present" end it "primary insurance should have all required fields" do order = Medivo::InsuranceOrder.new(:primary_insurance => Medivo::PrimaryInsurance.new) order.valid? order.errors.messages[:"primary_insurance.company_name"].should include "primary_insurance company_name must be present" order.errors.messages[:"primary_insurance.relationship"].should include "primary_insurance relationship field must be the value 1" end end