2020-11-30 00:24:28 +00:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
describe "User Subscriptions" do
|
|
|
|
|
|
|
|
|
|
let(:user1) {FactoryGirl.create(:user)}
|
|
|
|
|
let(:client) { RecurlyClient.new }
|
|
|
|
|
before(:each) do
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it "empty results" do
|
|
|
|
|
user1.touch
|
|
|
|
|
|
|
|
|
|
User.subscription_sync
|
|
|
|
|
|
|
|
|
|
user1.reload
|
|
|
|
|
|
2021-02-01 17:58:25 +00:00
|
|
|
user1.subscription_sync_code.should == 'no_recurly_account'
|
2020-12-05 18:16:38 +00:00
|
|
|
user1.subscription_last_checked_at.should_not be_nil
|
2020-11-30 00:24:28 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it "user not in trial" do
|
|
|
|
|
user1.subscription_plan_code = SubscriptionDefinitions::JAM_PLATINUM
|
|
|
|
|
user1.subscription_trial_ends_at = 1.days.ago
|
|
|
|
|
|
|
|
|
|
client.sync_subscription(user1)
|
|
|
|
|
user1.reload
|
2021-02-01 17:58:25 +00:00
|
|
|
user1.subscription_sync_code.should == "trial_ended"
|
2020-11-30 00:24:28 +00:00
|
|
|
user1.subscription_last_checked_at.should_not be_nil
|
2021-02-01 17:58:25 +00:00
|
|
|
user1.subscription_plan_code.should be_nil
|
2020-11-30 00:24:28 +00:00
|
|
|
|
|
|
|
|
user1.subscription_trial_ends_at = 3.days.ago
|
|
|
|
|
user1.subscription_last_checked_at = 2.days.ago
|
|
|
|
|
user1.save!
|
|
|
|
|
|
|
|
|
|
User.subscription_sync
|
|
|
|
|
|
|
|
|
|
user1.reload
|
|
|
|
|
|
|
|
|
|
user1.subscription_sync_code.should == "trial_ended"
|
|
|
|
|
user1.subscription_last_checked_at.should_not be_nil
|
|
|
|
|
user1.subscription_plan_code.should be_nil
|
|
|
|
|
end
|
|
|
|
|
|
2020-12-05 18:16:38 +00:00
|
|
|
it "revert admin user down" do
|
|
|
|
|
user1.subscription_plan_code = SubscriptionDefinitions::JAM_PLATINUM
|
|
|
|
|
user1.subscription_trial_ends_at = 1.days.ago
|
|
|
|
|
user1.admin_override_plan_code = SubscriptionDefinitions::JAM_PLATINUM
|
|
|
|
|
user1.admin_override_ends_at = 10.days.from_now
|
|
|
|
|
user1.save!
|
|
|
|
|
|
|
|
|
|
User.subscription_sync
|
|
|
|
|
|
|
|
|
|
user1.reload
|
|
|
|
|
|
|
|
|
|
user1.subscription_sync_code.should == "admin_control"
|
|
|
|
|
user1.subscription_last_checked_at.should_not be_nil
|
|
|
|
|
user1.subscription_plan_code.should == SubscriptionDefinitions::JAM_PLATINUM
|
|
|
|
|
|
|
|
|
|
user1.subscription_trial_ends_at = 3.days.ago
|
|
|
|
|
user1.admin_override_ends_at = 10.days.ago
|
|
|
|
|
user1.subscription_last_checked_at = 2.days.ago
|
|
|
|
|
user1.save!
|
|
|
|
|
|
|
|
|
|
User.subscription_sync
|
|
|
|
|
user1.reload
|
|
|
|
|
|
|
|
|
|
user1.subscription_sync_code.should == "trial_ended"
|
|
|
|
|
user1.subscription_last_checked_at.should_not be_nil
|
|
|
|
|
user1.subscription_plan_code.should be_nil
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
2020-11-30 00:24:28 +00:00
|
|
|
end
|