mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Update card spec to make the initial roles of cards clearer
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user