Beispiel #1
0
class TestPlanAdmin(TestCase):
    class FakeForm(object):
        cleaned_data = {}

    class FakeRequest(object):
        pass

    def setUp(self):
        with patch(
                "stripe.Product.retrieve",
                return_value=deepcopy(FAKE_PRODUCT),
                autospec=True,
        ):
            self.plan = Plan.sync_from_stripe_data(deepcopy(FAKE_PLAN))

        self.site = AdminSite()
        self.plan_admin = PlanAdmin(Plan, self.site)

    @patch("stripe.Plan.retrieve", autospec=True)
    def test_update_name(self, plan_retrieve_mock):
        new_name = "Updated Plan Name"

        self.plan.name = new_name
        self.plan.update_name()

        # Would throw DoesNotExist if it didn't work
        Plan.objects.get(name="Updated Plan Name")

    @patch("stripe.Plan.create", return_value=FAKE_PLAN_II, autospec=True)
    @patch("stripe.Plan.retrieve", autospec=True)
    def test_that_admin_save_does_create_new_object(self, plan_retrieve_mock,
                                                    plan_create_mock):
        fake_form = self.FakeForm()
        plan_data = Plan._stripe_object_to_record(deepcopy(FAKE_PLAN_II))

        fake_form.cleaned_data = plan_data

        self.plan_admin.save_model(request=self.FakeRequest(),
                                   obj=None,
                                   form=fake_form,
                                   change=False)

        # Would throw DoesNotExist if it didn't work
        Plan.objects.get(id=plan_data["id"])

    @patch("stripe.Plan.create", autospec=True)
    @patch("stripe.Plan.retrieve", autospec=True)
    def test_that_admin_save_does_update_object(self, plan_retrieve_mock,
                                                plan_create_mock):
        self.plan.name = "A new name (again)"

        self.plan_admin.save_model(request=self.FakeRequest(),
                                   obj=self.plan,
                                   form=self.FakeForm(),
                                   change=True)

        # Would throw DoesNotExist if it didn't work
        Plan.objects.get(name=self.plan.name)
Beispiel #2
0
class TestPlanAdmin(TestCase):
    def setUp(self):
        self.plan = Plan.objects.create(stripe_id='teststripeid',
                                        amount=25000,
                                        currency='usd',
                                        interval='week',
                                        interval_count=1,
                                        name='A test Stripe Plan',
                                        trial_period_days=12)
        self.site = AdminSite()
        self.plan_admin = PlanAdmin(Plan, self.site)

    @patch("stripe.Plan.retrieve")
    def test_update_name_does_update(self, RetrieveMock):

        self.plan.name = 'a_new_name'
        self.plan.update_name()

        Plan.objects.get(name='a_new_name')

    @patch("stripe.Plan.create")
    @patch("stripe.Plan.retrieve")
    def test_that_admin_save_does_create_new_object(self, RetrieveMock,
                                                    CreateMock):

        form = MockForm()
        stripe_id = 'admintestid'
        form.cleaned_data = {
            'stripe_id': stripe_id,
            'amount': 25000,
            'currency': 'usd',
            'interval': 'month',
            'interval_count': 1,
            'name': 'A test Admin Stripe Plan',
            'trial_period_days': 12
        }

        self.plan_admin.save_model(request=MockRequest(),
                                   obj=None,
                                   form=form,
                                   change=False)

        Plan.objects.get(stripe_id=stripe_id)

    @patch("stripe.Plan.create")
    @patch("stripe.Plan.retrieve")
    def test_that_admin_save_does_update_object(self, RetrieveMock,
                                                CreateMock):

        self.plan.name = 'A new name'

        self.plan_admin.save_model(request=MockRequest(),
                                   obj=self.plan,
                                   form=MockForm(),
                                   change=True)

        Plan.objects.get(name=self.plan.name)
Beispiel #3
0
class TestPlanAdmin(TestCase):
	class FakeForm(object):
		cleaned_data = {}

	class FakeRequest(object):
		pass

	def setUp(self):
		with patch(
			"stripe.Product.retrieve", return_value=deepcopy(FAKE_PRODUCT), autospec=True
		):
			self.plan = Plan.sync_from_stripe_data(deepcopy(FAKE_PLAN))

		self.site = AdminSite()
		self.plan_admin = PlanAdmin(Plan, self.site)

	@patch("stripe.Plan.retrieve", autospec=True)
	def test_update_name(self, plan_retrieve_mock):
		new_name = "Updated Plan Name"

		self.plan.name = new_name
		self.plan.update_name()

		# Would throw DoesNotExist if it didn't work
		Plan.objects.get(name="Updated Plan Name")

	@patch("stripe.Plan.create", return_value=FAKE_PLAN_II, autospec=True)
	@patch("stripe.Plan.retrieve", autospec=True)
	def test_that_admin_save_does_create_new_object(
		self, plan_retrieve_mock, plan_create_mock
	):
		fake_form = self.FakeForm()
		plan_data = Plan._stripe_object_to_record(deepcopy(FAKE_PLAN_II))

		fake_form.cleaned_data = plan_data

		self.plan_admin.save_model(
			request=self.FakeRequest(), obj=None, form=fake_form, change=False
		)

		# Would throw DoesNotExist if it didn't work
		Plan.objects.get(id=plan_data["id"])

	@patch("stripe.Plan.create", autospec=True)
	@patch("stripe.Plan.retrieve", autospec=True)
	def test_that_admin_save_does_update_object(
		self, plan_retrieve_mock, plan_create_mock
	):
		self.plan.name = "A new name (again)"

		self.plan_admin.save_model(
			request=self.FakeRequest(), obj=self.plan, form=self.FakeForm(), change=True
		)

		# Would throw DoesNotExist if it didn't work
		Plan.objects.get(name=self.plan.name)
Beispiel #4
0
class TestPlanAdmin(TestCase):

    def setUp(self):
        self.plan = Plan.objects.create(
            stripe_id='teststripeid',
            amount=25000,
            currency='usd',
            interval='week',
            interval_count=1,
            name='A test Stripe Plan',
            trial_period_days=12
        )
        self.site = AdminSite()
        self.plan_admin = PlanAdmin(Plan, self.site)

    @patch("stripe.Plan.retrieve")
    def test_update_name_does_update(self, RetrieveMock):

        self.plan.name = 'a_new_name'
        self.plan.update_name()

        Plan.objects.get(name='a_new_name')

    @patch("stripe.Plan.create")
    @patch("stripe.Plan.retrieve")
    def test_that_admin_save_does_create_new_object(self, RetrieveMock, CreateMock):

        form = MockForm()
        stripe_id = 'admintestid'
        form.cleaned_data = {
            'stripe_id': stripe_id,
            'amount': 25000,
            'currency': 'usd',
            'interval': 'month',
            'interval_count': 1,
            'name': 'A test Admin Stripe Plan',
            'trial_period_days': 12
        }

        self.plan_admin.save_model(request=MockRequest(), obj=None,
                                   form=form, change=False)

        Plan.objects.get(stripe_id=stripe_id)

    @patch("stripe.Plan.create")
    @patch("stripe.Plan.retrieve")
    def test_that_admin_save_does_update_object(self, RetrieveMock, CreateMock):

        self.plan.name = 'A new name'

        self.plan_admin.save_model(request=MockRequest(), obj=self.plan,
                                   form=MockForm(), change=True)

        Plan.objects.get(name=self.plan.name)