# frozen_string_literal: true require ::File.expand_path("../../../test_helper", __FILE__) module Stripe module Issuing class CardTest < Test::Unit::TestCase should "be creatable" do card = Stripe::Issuing::Card.create( currency: "usd", type: "physical" ) assert_requested :post, "#{Stripe.api_base}/v1/issuing/cards" assert card.is_a?(Stripe::Issuing::Card) end should "be listable" do cards = Stripe::Issuing::Card.list assert_requested :get, "#{Stripe.api_base}/v1/issuing/cards" assert cards.data.is_a?(Array) assert cards.data[0].is_a?(Stripe::Issuing::Card) end should "be retrievable" do card = Stripe::Issuing::Card.retrieve("ic_123") assert_requested :get, "#{Stripe.api_base}/v1/issuing/cards/ic_123" assert card.is_a?(Stripe::Issuing::Card) end should "be saveable" do card = Stripe::Issuing::Card.retrieve("ic_123") card.metadata["key"] = "value" card.save assert_requested :post, "#{Stripe.api_base}/v1/issuing/cards/ic_123" assert card.is_a?(Stripe::Issuing::Card) end should "be updateable" do card = Stripe::Issuing::Card.update("ic_123", metadata: { foo: "bar" }) assert_requested :post, "#{Stripe.api_base}/v1/issuing/cards/ic_123" assert card.is_a?(Stripe::Issuing::Card) end context "#details" do should "retrieve a card's details" do card_details = Stripe::Issuing::Card.details("ic_123") assert_requested :get, "#{Stripe.api_base}/v1/issuing/cards/ic_123/details" assert card_details.is_a?(Stripe::Issuing::CardDetails) end end context ".details" do should "retrieve a card's details" do card = Stripe::Issuing::Card.retrieve("ic_123") card_details = card.details assert_requested :get, "#{Stripe.api_base}/v1/issuing/cards/ic_123/details" assert card_details.is_a?(Stripe::Issuing::CardDetails) end end end end end