def test_create_subscription_to_a_deleted_plan(self): from billy.models.plan import PlanModel plan_model = PlanModel(self.testapp.session) with db_transaction.manager: plan_guid = plan_model.create( company_guid=self.company_guid, frequency=plan_model.FREQ_WEEKLY, plan_type=plan_model.TYPE_CHARGE, amount=10, ) plan_model.delete(plan_guid) self.testapp.post( '/v1/subscriptions', dict( customer_guid=self.customer_guid, plan_guid=plan_guid, amount='123', payment_uri='MOCK_CARD_URI', ), extra_environ=dict(REMOTE_USER=self.api_key), status=400, )
def plan_delete(request): """Delete a plan """ company = auth_api_key(request) model = PlanModel(request.session) plan = get_and_check_plan(request, company) if plan.deleted: return HTTPBadRequest('Plan {} was already deleted'.format(plan.guid)) with db_transaction.manager: model.delete(plan.guid) plan = model.get(plan.guid) return plan