Update card spec to make the initial roles of cards clearer

This commit is contained in:
Rob Harrington
2018-05-11 10:52:40 +10:00
parent 254f0db97c
commit 05e4d9007e

View File

@@ -4,8 +4,8 @@ feature "Credit Cards", js: true do
include AuthenticationWorkflow
describe "as a logged in user" do
let(:user) { create(:user) }
let!(:card) { create(:credit_card, user_id: user.id, gateway_customer_profile_id: 'cus_AZNMJ', is_default: true) }
let!(:card2) { create(:credit_card, user_id: user.id, gateway_customer_profile_id: 'cus_FDTG') }
let!(:default_card) { create(:credit_card, user_id: user.id, gateway_customer_profile_id: 'cus_AZNMJ', is_default: true) }
let!(:non_default_card) { create(:credit_card, user_id: user.id, gateway_customer_profile_id: 'cus_FDTG') }
before do
quick_login_as user
@@ -29,31 +29,31 @@ feature "Credit Cards", js: true do
expect(page).to have_content I18n.t(:saved_cards)
# Lists saved cards
within(".card#card#{card.id}") do
expect(page).to have_content card.cc_type.capitalize
expect(page).to have_content card.last_digits
within(".card#card#{default_card.id}") do
expect(page).to have_content default_card.cc_type.capitalize
expect(page).to have_content default_card.last_digits
expect(find_field('default_card')).to be_checked
end
within(".card#card#{card2.id}") do
expect(page).to have_content card2.cc_type.capitalize
expect(page).to have_content card2.last_digits
within(".card#card#{non_default_card.id}") do
expect(page).to have_content non_default_card.cc_type.capitalize
expect(page).to have_content non_default_card.last_digits
expect(find_field('default_card')).to_not be_checked
end
# Allows switching of default card
within(".card#card#{card2.id}") do
within(".card#card#{non_default_card.id}") do
find_field('default_card').click
expect(find_field('default_card')).to be_checked
end
expect(page).to have_content I18n.t('js.default_card_updated')
within(".card#card#{card.id}") do
within(".card#card#{default_card.id}") do
expect(find_field('default_card')).to_not be_checked
end
expect(card.reload.is_default).to be false
expect(card2.reload.is_default).to be true
expect(default_card.reload.is_default).to be false
expect(non_default_card.reload.is_default).to be true
# Shows the interface for adding a card
click_button I18n.t(:add_a_card)
@@ -61,12 +61,12 @@ feature "Credit Cards", js: true do
expect(page).to have_selector '#card-element.StripeElement'
# Allows deletion of cards
within(".card#card#{card.id}") do
within(".card#card#{default_card.id}") do
click_link I18n.t(:delete)
end
expect(page).to have_content I18n.t(:card_has_been_removed, number: "x-#{card.last_digits}")
expect(page).to_not have_selector ".card#card#{card.id}"
expect(page).to have_content I18n.t(:card_has_been_removed, number: "x-#{default_card.last_digits}")
expect(page).to_not have_selector ".card#card#{default_card.id}"
end
end
end