 require 'spec_helper'

describe "Customer paying fixxpert after fixxpert bills customer" do

	let(:marketplace) {get_marketplace}

  it "customer should pay after billing" do
  	prev_amount = marketplace.in_escrow
	  customer = create :customer
    has_credits = 120
    customer.credits = has_credits
	  login_as_user customer
	  create_card customer

	  fixxpert = create :fixxpert, market_token_id: '123', market_refund_token_id: '123', market_recipient_email: 'valid@email.com'
	  login_as_user fixxpert    
	  create_bank_account fixxpert

	  
	  expert_session = create :expert_session, fixxpert: fixxpert, customer: customer
	  
	  total_credits = (((expert_session.fixxpert.rate_in_cents)/100)*(expert_session.length/60.0))

	  visit root_path
	  click_link 'fixxpert_expert_sessions_link'
	  click_link "confirm_expert_session_#{expert_session.id}"
	  sleep(10)

	  page.should have_content "Expert session confirmed"
	  customer.reload
	  customer.credits.should eq has_credits
	  customer.credits_booked.should eq total_credits*4
		click_button "Create Invoice"

		login_as_user customer
		visit customer_expert_session_path(expert_session)
		click_link "pay now"
		sleep(5)

		marketplace.reload
		customer.reload

		marketplace.in_escrow.should eq  prev_amount -( (amount_to_be_paid_to_fixxpert expert_session) * 100 )

		customer.credits_booked.should eq 0
	  customer.credits.should eq has_credits-(total_credits*4)
  end

end