コード例 #1
0
    def setUp(self):
        self.user = UserFactory()
        self.admin = AdminFactory()
        self.retreat = RetreatFactory()
        self.retreat.is_active = True
        self.retreat.save()
        self.retreat_content_types = ContentType.objects.get_for_model(Retreat)
        self.order = Order.objects.create(
            user=self.user,
            transaction_date=timezone.now(),
            authorization_id=1,
            settlement_id=1,
        )

        factory = APIRequestFactory()
        self.request = factory.get('/')

        self.options_1: OptionProduct = OptionProduct.objects.create(
            name="options_1",
            details="options_1",
            available=True,
            price=50.00,
            max_quantity=10,
        )
        self.options_1.available_on_products.add(self.retreat)
コード例 #2
0
 def setUpClass(cls):
     super(CustomPaymentTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
     cls.custom_payment = CustomPayment.objects.create(
         user=cls.user,
         transaction_date=timezone.now(),
         authorization_id=1,
         settlement_id=1,
         reference_number=751,
         price=123,
         name="test payment",
         details="Description of the test payment",
     )
     cls.custom_payment2 = CustomPayment.objects.create(
         user=cls.admin,
         transaction_date=timezone.now(),
         authorization_id=1,
         settlement_id=1,
         reference_number=751,
         price=123,
         name="admin payment",
         details="Description of the admin payment",
     )
コード例 #3
0
 def setUpClass(cls):
     super(OrderLineTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
     cls.package_type = ContentType.objects.get_for_model(Package)
     cls.academic_level = AcademicLevel.objects.create(name="University")
     cls.membership_with_academic_level = Membership.objects.create(
         name="basic_membership",
         details="1-Year student membership",
         available=True,
         price=50,
         duration=timedelta(days=365),
     )
     cls.membership_with_academic_level.academic_levels.set(
         [cls.academic_level])
     cls.membership = Membership.objects.create(
         name="basic_membership",
         details="1-Year student membership",
         available=True,
         price=50,
         duration=timedelta(days=365),
     )
     cls.package = Package.objects.create(
         name="extreme_package",
         details="100 reservations package",
         available=True,
         price=40,
         reservations=100,
     )
     cls.package.exclusive_memberships.set([
         cls.membership,
     ])
     cls.order = Order.objects.create(
         user=cls.user,
         transaction_date=timezone.now(),
         authorization_id=1,
         settlement_id=1,
     )
     cls.order_admin = Order.objects.create(
         user=cls.admin,
         transaction_date=timezone.now(),
         authorization_id=1,
         settlement_id=1,
     )
     cls.order_line = OrderLine.objects.create(
         order=cls.order,
         quantity=1,
         content_type=cls.package_type,
         object_id=cls.package.id,
         cost=cls.package.price,
     )
     cls.order_line_admin = OrderLine.objects.create(
         order=cls.order_admin,
         quantity=99,
         content_type=cls.package_type,
         object_id=cls.package.id,
         cost=99 * cls.package.price,
     )
コード例 #4
0
 def setUp(self):
     self.client = APIClient()
     self.user = UserFactory()
     self.admin = AdminFactory()
     self.package_type = ContentType.objects.get_for_model(Package)
     self.academic_level = AcademicLevel.objects.create(name="University")
     self.membership_with_academic_level = Membership.objects.create(
         name="basic_membership",
         details="1-Year student membership",
         available=True,
         price=50,
         duration=timedelta(days=365),
     )
     self.membership_with_academic_level.academic_levels.set(
         [self.academic_level])
     self.membership = Membership.objects.create(
         name="basic_membership",
         details="1-Year student membership",
         available=True,
         price=50,
         duration=timedelta(days=365),
     )
     self.package = Package.objects.create(
         name="extreme_package",
         details="100 reservations package",
         available=True,
         price=40,
         reservations=100,
     )
     self.package.exclusive_memberships.set([
         self.membership,
     ])
     self.order = Order.objects.create(
         user=self.user,
         transaction_date=LOCAL_TIMEZONE.localize(datetime(2020, 1, 15, 8)),
         authorization_id=1,
         settlement_id=1,
     )
     self.order_admin = Order.objects.create(
         user=self.admin,
         transaction_date=LOCAL_TIMEZONE.localize(datetime(2020, 1, 15, 8)),
         authorization_id=1,
         settlement_id=1,
     )
     self.order_line = OrderLine.objects.create(
         order=self.order,
         quantity=1,
         content_type=self.package_type,
         object_id=self.package.id,
         cost=self.package.price,
     )
     self.order_line_admin = OrderLine.objects.create(
         order=self.order_admin,
         quantity=99,
         content_type=self.package_type,
         object_id=self.package.id,
         cost=99 * self.package.price,
     )
コード例 #5
0
    def setUp(self):
        self.user = UserFactory()
        self.admin = AdminFactory()
        self.retreatType = RetreatType.objects.create(
            name="Type 1",
            minutes_before_display_link=10,
            number_of_tomatoes=4,
        )
        self.retreat = Retreat.objects.create(
            name="mega_retreat",
            details="This is a description of the mega retreat.",
            seats=400,
            address_line1="123 random street",
            postal_code="123 456",
            state_province="Random state",
            country="Random country",
            price=199,
            min_day_refund=7,
            min_day_exchange=7,
            refund_rate=50,
            accessibility=True,
            form_url="example.com",
            carpool_url='example2.com',
            review_url='example3.com',
            has_shared_rooms=True,
            toilet_gendered=False,
            room_type=Retreat.SINGLE_OCCUPATION,
            type=self.retreatType,
        )
        RetreatDate.objects.create(
            start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 8)),
            end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 17, 12)),
            retreat=self.retreat,
        )
        self.retreat.activate()

        self.retreat_content_types = ContentType.objects.get_for_model(Retreat)
        self.order = Order.objects.create(
            user=self.user,
            transaction_date=timezone.now(),
            authorization_id=1,
            settlement_id=1,
        )

        factory = APIRequestFactory()
        self.request = factory.get('/')

        self.options_1: OptionProduct = OptionProduct.objects.create(
            name="options_1",
            details="options_1",
            available=True,
            price=50.00,
            max_quantity=10,
        )
        self.options_1.available_on_products.add(self.retreat)
コード例 #6
0
 def setUpClass(cls):
     super(RefundTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
     cls.package_type = ContentType.objects.get_for_model(Package)
     cls.package = Package.objects.create(
         name="extreme_package",
         details="100 reservations package",
         available=True,
         price=400,
         reservations=100,
     )
     cls.order = Order.objects.create(
         user=cls.user,
         transaction_date=timezone.now(),
         authorization_id=1,
         settlement_id=1,
     )
     cls.order_admin = Order.objects.create(
         user=cls.admin,
         transaction_date=timezone.now(),
         authorization_id=1,
         settlement_id=1,
     )
     cls.order_line = OrderLine.objects.create(
         order=cls.order,
         quantity=1,
         content_type=cls.package_type,
         object_id=1,
     )
     cls.order_line_admin = OrderLine.objects.create(
         order=cls.order_admin,
         quantity=99,
         content_type=cls.package_type,
         object_id=1,
     )
     cls.refund = Refund.objects.create(
         orderline=cls.order_line,
         refund_date=timezone.now(),
         amount=10.00,
         details="Refund details",
     )
     cls.refund_admin = Refund.objects.create(
         orderline=cls.order_line_admin,
         refund_date=timezone.now(),
         amount=10.00,
         details="Admin refund details",
     )
コード例 #7
0
    def setUp(self) -> None:
        self.admin = AdminFactory()

        self.user1 = UserFactory(email='*****@*****.**')
        self.user2 = UserFactory(email='*****@*****.**')
        self.user3 = UserFactory(email='*****@*****.**')
        self.user4 = UserFactory(email='*****@*****.**')
        self.user5 = UserFactory(email='*****@*****.**')
        self.user6 = UserFactory(email='*****@*****.**')
        self.user_cancel = UserFactory()

        self.retreat = RetreatFactory()
        self.retreat.min_day_refund = 7
        self.retreat.save()

        self.wait_queue_place = WaitQueuePlace.objects.create(
            retreat=self.retreat,
            cancel_by=self.user_cancel
        )

        self.wait_queue_user1 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user1
        )
        self.wait_queue_user2 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user2
        )
        self.wait_queue_user3 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user3
        )
        self.wait_queue_user4 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user4
        )
        self.wait_queue_user5 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user5
        )
        self.wait_queue_user6 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user6
        )
コード例 #8
0
 def setUpClass(cls):
     super(PaymentProfileTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
     cls.payment_profile = PaymentProfile.objects.create(
         name="Test profile",
         owner=cls.user,
         external_api_id="123",
         external_api_url="https://example.com/customervault/v1/"
         "profiles/",
     )
     cls.payment_profile_admin = PaymentProfile.objects.create(
         name="Test profile admin",
         owner=cls.admin,
         external_api_id="123",
         external_api_url="https://example.com/customervault/v1/"
         "profiles/",
     )
コード例 #9
0
 def setUpClass(cls):
     super(PeriodTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
     cls.workplace = Workplace.objects.create(
         name="Blitz",
         seats=40,
         details="short_description",
         address_line1="123 random street",
         postal_code="123 456",
         state_province="Random state",
         country="Random country",
     )
     cls.period = Period.objects.create(
         name="random_period",
         workplace=cls.workplace,
         start_date=timezone.now(),
         end_date=timezone.now() + timedelta(weeks=4),
         price=3,
         is_active=False,
     )
     cls.period_active = Period.objects.create(
         name="random_period_active",
         workplace=cls.workplace,
         start_date=timezone.now(),
         end_date=timezone.now() + timedelta(weeks=4),
         price=3,
         is_active=True,
     )
     cls.time_slot_active = TimeSlot.objects.create(
         name="evening_time_slot_active",
         period=cls.period_active,
         price=3,
         start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 18)),
         end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 22)),
     )
     cls.reservation = Reservation.objects.create(
         user=cls.user,
         timeslot=cls.time_slot_active,
         is_active=True,
     )
コード例 #10
0
 def setUpClass(cls):
     super(MembershipTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
     cls.academic_level = AcademicLevel.objects.create(name="University")
     cls.membership = Membership.objects.create(
         name="basic_membership",
         details="1-Year student membership",
         price=50,
         available=True,
         duration=timedelta(days=365),
     )
     cls.membership.academic_levels.set([cls.academic_level])
     cls.membership_unavailable = Membership.objects.create(
         name="pending_membership",
         details="todo",
         price=50,
         available=False,
         duration=timedelta(days=365),
     )
     cls.membership_unavailable.academic_levels.set([cls.academic_level])
コード例 #11
0
    def setUp(self):
        self.client = APIClient()
        self.user = UserFactory()
        self.admin = AdminFactory()
        self.retreat_type = ContentType.objects.get_for_model(Retreat)
        self.retreat = Retreat.objects.create(
            name="mega_retreat",
            details="This is a description of the mega retreat.",
            seats=400,
            address_line1="123 random street",
            postal_code="123 456",
            state_province="Random state",
            country="Random country",
            price=199,
            start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 8)),
            end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 17, 12)),
            min_day_refund=7,
            min_day_exchange=7,
            refund_rate=50,
            is_active=True,
            accessibility=True,
            form_url="example.com",
            carpool_url='example2.com',
            review_url='example3.com',
            has_shared_rooms=True,
        )
        self.retreat.add_wait_queue_place(self.user, generate_cron=False)

        self.retreat2 = Retreat.objects.create(
            name="random_retreat",
            details="This is a description of the retreat.",
            seats=40,
            address_line1="123 random street",
            postal_code="123 456",
            state_province="Random state",
            country="Random country",
            price=199,
            start_time=LOCAL_TIMEZONE.localize(datetime(2130, 2, 15, 8)),
            end_time=LOCAL_TIMEZONE.localize(datetime(2130, 2, 17, 12)),
            min_day_refund=7,
            min_day_exchange=7,
            refund_rate=100,
            is_active=False,
            accessibility=True,
            form_url="example.com",
            carpool_url='example2.com',
            review_url='example3.com',
            has_shared_rooms=True,
        )
        self.retreat_overlap = Retreat.objects.create(
            name="ultra_retreat",
            details="This is a description of the ultra retreat.",
            seats=400,
            address_line1="1234 random street",
            postal_code="654 321",
            state_province="Random state 2",
            country="Random country 2",
            price=199,
            start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 8)),
            end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 17, 12)),
            min_day_refund=7,
            min_day_exchange=7,
            refund_rate=50,
            is_active=True,
            accessibility=True,
            form_url="example.com",
            carpool_url='example2.com',
            review_url='example3.com',
            has_shared_rooms=True,
        )
        self.order = Order.objects.create(
            user=self.user,
            transaction_date=timezone.now(),
            authorization_id=1,
            settlement_id=1,
        )
        self.order_line = OrderLine.objects.create(
            order=self.order,
            quantity=1,
            content_type=self.retreat_type,
            object_id=self.retreat.id,
            cost=self.retreat.price,
        )
        self.reservation = Reservation.objects.create(
            user=self.user,
            retreat=self.retreat,
            order_line=self.order_line,
            is_active=True,
        )
        self.reservation_expected_payload = {
            'id':
            self.reservation.id,
            'is_active':
            True,
            'is_present':
            False,
            'retreat':
            'http://testserver/retreat/retreats/' +
            str(self.reservation.retreat.id),
            'url':
            'http://testserver/retreat/reservations/' +
            str(self.reservation.id),
            'user':
            '******' + str(self.user.id),
            'order_line':
            'http://testserver/order_lines/' + str(self.order_line.id),
            'cancelation_date':
            None,
            'cancelation_action':
            None,
            'cancelation_reason':
            None,
            'refundable':
            True,
            'exchangeable':
            True,
            'invitation':
            None,
            'post_event_send':
            False,
            'pre_event_send':
            False,
        }
        self.reservation_non_exchangeable = Reservation.objects.create(
            user=self.admin,
            retreat=self.retreat,
            order_line=self.order_line,
            is_active=True,
            exchangeable=False,
        )
コード例 #12
0
    def setUpClass(cls):
        super(CouponTests, cls).setUpClass()
        cls.client = APIClient()
        cls.user = UserFactory()
        cls.admin = AdminFactory()
        cls.package_type = ContentType.objects.get_for_model(Package)
        cls.package = Package.objects.create(
            name="extreme_package",
            details="100 reservations package",
            available=True,
            price=400,
            reservations=100,
        )
        cls.membership = Membership.objects.create(
            name="basic_membership",
            details="1-Year student membership",
            available=True,
            price=50,
            duration=timedelta(days=365),
        )
        cls.workplace = Workplace.objects.create(
            name="random_workplace",
            details="This is a description of the workplace.",
            seats=40,
            address_line1="123 random street",
            postal_code="123 456",
            state_province="Random state",
            country="Random country",
        )
        cls.period = Period.objects.create(
            name="random_period_active",
            workplace=cls.workplace,
            start_date=timezone.now(),
            end_date=timezone.now() + timedelta(weeks=4),
            price=3,
            is_active=True,
        )
        cls.time_slot = TimeSlot.objects.create(
            name="morning_time_slot",
            period=cls.period,
            price=1,
            start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 8)),
            end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 12)),
        )
        cls.retreat = Retreat.objects.create(
            name="mega_retreat",
            seats=400,
            details="This is a description of the mega retreat.",
            address_line1="123 random street",
            postal_code="123 456",
            state_province="Random state",
            country="Random country",
            price=199,
            start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 8)),
            end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 17, 12)),
            min_day_refund=7,
            min_day_exchange=7,
            refund_rate=50,
            is_active=True,
            activity_language='FR',
            accessibility=True,
            has_shared_rooms=True,
        )
        cls.coupon = Coupon.objects.create(
            value=13,
            code="ABCDEFGH",
            start_time="2019-01-06T15:11:05-05:00",
            end_time="2020-01-06T15:11:06-05:00",
            max_use=100,
            max_use_per_user=2,
            details="Any package for clients",
            owner=cls.user,
        )
        cls.coupon2 = Coupon.objects.create(
            value=13,
            code="ABCD1234",
            start_time="2019-01-06T15:11:05-05:00",
            end_time="2020-01-06T15:11:06-05:00",
            max_use=100,
            max_use_per_user=2,
            details="Any package for clients",
            owner=cls.admin,
        )
        cls.coupon.applicable_product_types.add(cls.package_type)

        cls.maxDiff = None
コード例 #13
0
 def setUpClass(cls):
     super(WaitQueueTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.user2 = UserFactory()
     cls.admin = AdminFactory()
コード例 #14
0
 def setUpClass(cls):
     super(InvitationViewTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
コード例 #15
0
 def setUpClass(cls):
     super(RetirementTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
コード例 #16
0
 def setUpClass(cls):
     super(PictureTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
コード例 #17
0
    def setUp(self) -> None:
        self.admin = AdminFactory()

        self.user1 = UserFactory(email='*****@*****.**')
        self.user2 = UserFactory(email='*****@*****.**')
        self.user3 = UserFactory(email='*****@*****.**')
        self.user4 = UserFactory(email='*****@*****.**')
        self.user5 = UserFactory(email='*****@*****.**')
        self.user6 = UserFactory(email='*****@*****.**')
        self.user_cancel = UserFactory()

        self.retreatType = RetreatType.objects.create(
            name="Type 1",
            minutes_before_display_link=10,
            number_of_tomatoes=4,
        )

        self.retreat = Retreat.objects.create(
            name="mega_retreat",
            details="This is a description of the mega retreat.",
            seats=400,
            address_line1="123 random street",
            postal_code="123 456",
            state_province="Random state",
            country="Random country",
            price=199,
            min_day_refund=7,
            min_day_exchange=7,
            refund_rate=50,
            accessibility=True,
            form_url="example.com",
            carpool_url='example2.com',
            review_url='example3.com',
            has_shared_rooms=True,
            toilet_gendered=False,
            room_type=Retreat.SINGLE_OCCUPATION,
            type=self.retreatType,
        )
        RetreatDate.objects.create(
            start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 8)),
            end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 17, 12)),
            retreat=self.retreat,
        )
        self.retreat.activate()

        self.wait_queue_place = WaitQueuePlace.objects.create(
            retreat=self.retreat,
            cancel_by=self.user_cancel
        )

        self.wait_queue_user1 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user1
        )
        self.wait_queue_user2 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user2
        )
        self.wait_queue_user3 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user3
        )
        self.wait_queue_user4 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user4
        )
        self.wait_queue_user5 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user5
        )
        self.wait_queue_user6 = WaitQueue.objects.create(
            retreat=self.retreat,
            user=self.user6
        )
コード例 #18
0
 def setUpClass(cls):
     super(OrderTests, cls).setUpClass()
     cls.client = APIClient()
     cls.user = UserFactory()
     cls.admin = AdminFactory()
     cls.membership = Membership.objects.create(
         name="basic_membership",
         details="1-Year student membership",
         available=True,
         price=50,
         duration=timedelta(days=365),
     )
     cls.package_type = ContentType.objects.get_for_model(Package)
     cls.package = Package.objects.create(
         name="extreme_package",
         details="100 reservations package",
         available=True,
         price=400,
         reservations=100,
     )
     cls.order = Order.objects.create(
         user=cls.user,
         transaction_date=timezone.now(),
         authorization_id=1,
         settlement_id=1,
     )
     cls.order_admin = Order.objects.create(
         user=cls.admin,
         transaction_date=timezone.now(),
         authorization_id=2,
         settlement_id=2,
     )
     cls.order_line = OrderLine.objects.create(
         order=cls.order,
         quantity=1,
         content_type=cls.package_type,
         object_id=1,
     )
     cls.payment_profile = PaymentProfile.objects.create(
         name="payment_api_name",
         owner=cls.admin,
         external_api_id="123",
         external_api_url="https://example.com/customervault/v1/profiles")
     cls.workplace = Workplace.objects.create(
         name="random_workplace",
         details="This is a description of the workplace.",
         seats=40,
         address_line1="123 random street",
         postal_code="123 456",
         state_province="Random state",
         country="Random country",
     )
     cls.workplace_no_seats = Workplace.objects.create(
         name="random_workplace",
         details="This is a description of the workplace.",
         seats=0,
         address_line1="123 random street",
         postal_code="123 456",
         state_province="Random state",
         country="Random country",
     )
     cls.period = Period.objects.create(
         name="random_period_active",
         workplace=cls.workplace,
         start_date=timezone.now(),
         end_date=timezone.now() + timedelta(weeks=4),
         price=3,
         is_active=True,
     )
     cls.period_no_seats = Period.objects.create(
         name="random_period_active",
         workplace=cls.workplace_no_seats,
         start_date=timezone.now(),
         end_date=timezone.now() + timedelta(weeks=4),
         price=3,
         is_active=True,
     )
     cls.time_slot = TimeSlot.objects.create(
         name="morning_time_slot",
         period=cls.period,
         price=1,
         start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 8)),
         end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 12)),
     )
     cls.time_slot_no_seats = TimeSlot.objects.create(
         name="no_place_left_timeslot",
         period=cls.period_no_seats,
         price=3,
         start_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 8)),
         end_time=LOCAL_TIMEZONE.localize(datetime(2130, 1, 15, 12)),
     )