class MockChargebee::Models::Subscription

Constants

RESOURCE_ID_PREFIX

Public Class Methods

cancel(id, params) click to toggle source
# File lib/mock_chargebee/models/subscription.rb, line 51
def self.cancel(id, params)
  subscription = find(id)
  subscription.merge!(params.merge({ "status" => "cancelled", "canceled_at" => Time.now.to_i }))
  repositories.subscriptions.store(subscription["id"], subscription)

  subscription
end
create(params) click to toggle source
# File lib/mock_chargebee/models/subscription.rb, line 14
def self.create(params)
  Validations::Subscriptions::CreateParams.validate_required(params)
  params["id"] ||= unique_id

  customer_params = params.delete("customer")
  customer = Customer.create(customer_params)

  coupon_ids = params.delete("coupon_ids")
  params["coupons"] = Services::CouponsForSubscription.new(coupon_ids).call

  params["customer_id"] = customer["id"]

  subscription = subscription_fixture.merge(params)

  repositories.subscriptions.store(params["id"], subscription)

  [subscription, customer]
end
create_for_customer(customer, params) click to toggle source
# File lib/mock_chargebee/models/subscription.rb, line 33
def self.create_for_customer(customer, params)
  params["id"] ||= unique_id
  subscription = subscription_fixture.merge(params)
  subscription["customer_id"] = customer["id"]

  repositories.subscriptions.store(subscription["id"], subscription)

  subscription
end
find(id) click to toggle source
# File lib/mock_chargebee/models/subscription.rb, line 10
def self.find(id)
  repositories.subscriptions.fetch(id)
end
reactivate(id, params) click to toggle source
# File lib/mock_chargebee/models/subscription.rb, line 59
def self.reactivate(id, params)
  subscription = find(id)
  subscription.merge!(params.merge({ "status" => "active", "started_at" => Time.now.to_i }))
  repositories.subscriptions.store(subscription["id"], subscription)

  subscription
end
update(id, params) click to toggle source
# File lib/mock_chargebee/models/subscription.rb, line 43
def self.update(id, params)
  subscription = find(id)
  subscription.merge!(params)
  repositories.subscriptions.store(subscription["id"], subscription)

  subscription
end