-
-
Save melvinram/f028102c7633780a8fe4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html><html><head> | |
<link href="/assets/application.css" media="screen" rel="stylesheet" type="text/css"> | |
<script src="https://js.stripe.com/v1/" type="text/javascript"></script> | |
<script src="/assets/application.js" type="text/javascript"></script> | |
<meta content="pk_HsVBbmyTRHjE3haYtTQLM4Lje4v" name="stripe-key"> | |
</head> | |
<body> | |
<div id="header"> | |
<div class="page_width"> | |
<div class="site_title"><p class="title">Connect A Car</p></div> | |
<div class="session_links"><a href="/users/sign_in">Log In</a><a href="/users/sign_up">Sign Up</a></div> | |
</div> | |
</div> | |
<div id="center"> | |
<div class="page_width"> | |
<h1 class="vehicle_title"> | |
Toyota Camry | |
</h1> | |
<div class="price">$20,000.00</div> | |
<div class="description">The latest in awesomeness.</div> | |
<h2>Bring The Car To Me For $9.95</h2> | |
<form accept-charset="UTF-8" action="/appointments" class="new_appointment" id="new_appointment" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"></div> | |
<input id="appointment_stripe_card_token" name="appointment[stripe_card_token]" type="hidden"> | |
<h3>Appointment Details</h3> | |
<div class="field"> | |
<label for="appointment_full_name">Full Name</label> | |
<input id="appointment_full_name" name="appointment[full_name]" size="30" type="text"> | |
</div> | |
<div class="field"> | |
<label for="appointment_date">Date</label> | |
<select id="appointment_date_2i" name="appointment[date(2i)]"> | |
<option value="">Month</option> | |
<option value="1">January</option> | |
<option value="2">February</option> | |
<option value="3">March</option> | |
<option value="4">April</option> | |
<option value="5">May</option> | |
<option value="6">June</option> | |
<option value="7">July</option> | |
<option value="8">August</option> | |
<option value="9">September</option> | |
<option value="10">October</option> | |
<option value="11">November</option> | |
<option value="12">December</option> | |
</select> | |
<select id="appointment_date_3i" name="appointment[date(3i)]"> | |
<option value="">Day</option> | |
<option value="1">1</option> | |
<option value="2">2</option> | |
<option value="3">3</option> | |
<option value="4">4</option> | |
<option value="5">5</option> | |
<option value="6">6</option> | |
<option value="7">7</option> | |
<option value="8">8</option> | |
<option value="9">9</option> | |
<option value="10">10</option> | |
<option value="11">11</option> | |
<option value="12">12</option> | |
<option value="13">13</option> | |
<option value="14">14</option> | |
<option value="15">15</option> | |
<option value="16">16</option> | |
<option value="17">17</option> | |
<option value="18">18</option> | |
<option value="19">19</option> | |
<option value="20">20</option> | |
<option value="21">21</option> | |
<option value="22">22</option> | |
<option value="23">23</option> | |
<option value="24">24</option> | |
<option value="25">25</option> | |
<option value="26">26</option> | |
<option value="27">27</option> | |
<option value="28">28</option> | |
<option value="29">29</option> | |
<option value="30">30</option> | |
<option value="31">31</option> | |
</select> | |
<select id="appointment_date_1i" name="appointment[date(1i)]"> | |
<option value="">Year</option> | |
<option value="2007">2007</option> | |
<option value="2008">2008</option> | |
<option value="2009">2009</option> | |
<option value="2010">2010</option> | |
<option value="2011">2011</option> | |
<option value="2012">2012</option> | |
<option value="2013">2013</option> | |
<option value="2014">2014</option> | |
<option value="2015">2015</option> | |
<option value="2016">2016</option> | |
<option value="2017">2017</option> | |
</select> | |
</div> | |
<div class="field"> | |
<label for="appointment_time">Time</label> | |
<input id="appointment_time_1i" name="appointment[time(1i)]" type="hidden" value=""> | |
<input id="appointment_time_2i" name="appointment[time(2i)]" type="hidden"> | |
<input id="appointment_time_3i" name="appointment[time(3i)]" type="hidden"> | |
<select id="appointment_time_4i" name="appointment[time(4i)]"> | |
<option value="">Hour</option> | |
<option value="00">12 AM</option> | |
<option value="01">01 AM</option> | |
<option value="02">02 AM</option> | |
<option value="03">03 AM</option> | |
<option value="04">04 AM</option> | |
<option value="05">05 AM</option> | |
<option value="06">06 AM</option> | |
<option value="07">07 AM</option> | |
<option value="08">08 AM</option> | |
<option value="09">09 AM</option> | |
<option value="10">10 AM</option> | |
<option value="11">11 AM</option> | |
<option value="12">12 PM</option> | |
<option value="13">01 PM</option> | |
<option value="14">02 PM</option> | |
<option value="15">03 PM</option> | |
<option value="16">04 PM</option> | |
<option value="17">05 PM</option> | |
<option value="18">06 PM</option> | |
<option value="19">07 PM</option> | |
<option value="20">08 PM</option> | |
<option value="21">09 PM</option> | |
<option value="22">10 PM</option> | |
<option value="23">11 PM</option> | |
</select> | |
: <select id="appointment_time_5i" name="appointment[time(5i)]"> | |
<option value="">Minute</option> | |
<option value="00">00</option> | |
<option value="15">15</option> | |
<option value="30">30</option> | |
<option value="45">45</option> | |
</select> | |
</div> | |
<div class="field"> | |
<label for="appointment_location">Location</label> | |
<input id="appointment_location" name="appointment[location]" size="30" type="text"> | |
</div> | |
<h3>Payment Details</h3> | |
<div class="field"> | |
<label for="card_number">Credit Card Number</label> | |
<input id="card_number" type="text"> | |
</div> | |
<div class="field"> | |
<label for="card_code">Security Code on Card (CVV)</label> | |
<input id="card_code" type="text"> | |
</div> | |
<div class="field"> | |
<label for="card_month">Card Expiration</label> | |
<select id="card_month"> | |
<option value="1">1 - January</option> | |
<option value="2">2 - February</option> | |
<option value="3">3 - March</option> | |
<option value="4">4 - April</option> | |
<option value="5">5 - May</option> | |
<option value="6">6 - June</option> | |
<option value="7">7 - July</option> | |
<option value="8">8 - August</option> | |
<option value="9">9 - September</option> | |
<option value="10">10 - October</option> | |
<option value="11">11 - November</option> | |
<option value="12">12 - December</option> | |
</select> | |
<select id="card_year"> | |
<option value="2012">2012</option> | |
<option value="2013">2013</option> | |
<option value="2014">2014</option> | |
<option value="2015">2015</option> | |
<option value="2016">2016</option> | |
<option value="2017">2017</option> | |
<option value="2018">2018</option> | |
<option value="2019">2019</option> | |
<option value="2020">2020</option> | |
<option value="2021">2021</option> | |
<option value="2022">2022</option> | |
<option value="2023">2023</option> | |
<option value="2024">2024</option> | |
<option value="2025">2025</option> | |
<option value="2026">2026</option> | |
<option value="2027">2027</option> | |
</select> | |
</div> | |
<div class="action"> | |
<input name="commit" type="submit" value="Pay Now & Request Appointment"> | |
</div> | |
<div id="stripe_error"> | |
<noscript>JavaScript is not enabled and is required for this form. First enable it in your web browser settings.</noscript> | |
</div> | |
</form> | |
</div> | |
</div> | |
<div id="footer"> | |
<div class="page_width"> | |
Copyright 2012 | |
</div> | |
</div> | |
<iframe src="https://api.stripe.com/js/v1/apitunnel.html#http%3A%2F%2F127.0.0.1%3A60593%2Fvehicles%2F1036" name="stripeFrame1327436828652" id="stripeFrame1327436828652" frameborder="0" scrolling="no" allowtransparency="true" width="0" height="0" style="position:absolute;top:0;left:0;width:0;height:0"></iframe></body></html>/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
it "should allow you to schedule an appointment and pay for the appointment", :js => true do | |
visit vehicle_path(@camry) | |
save_and_open_page | |
fill_in "appointment_full_name", :with => "John Doe" | |
select "January", :from => "appointment_date_2i" | |
select "1", :from => "appointment_date_3i" | |
select (Date.today.year + 5).to_s, :from => "appointment_date_1i" | |
select "3 PM", :from => "appointment_time_4i" | |
select "00", :from => "appointment_time_5i" | |
fill_in "appointment_location", :with => "555 Somewhere Street Somecity CA 55555" | |
fill_in "card_number", :with => "4242424242424242" | |
fill_in "card_code", :with => "555" | |
select "1 - January", :from => "card_month" | |
select 5.years.from_now.year.to_s, :from => "card_year" | |
save_and_open_page | |
# lambda{ click_button "Pay Now & Request Appointment" }.should change(Appointment, :count) | |
# current_path.should == appointment_path(Appointment.last.id) | |
# page.should have_content "Your appointment was successfully requested. Once we confirm with the dealership, we'll send you a confirmation email." | |
# revenue should increase by the appointment cost. | |
# make sure a new user was created by checking if it shows log out link. | |
# in the admin area, I should see a new appointment request on the dashboard | |
# when viewing the appointment, I should have a button to confirm and charge their card. | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment