Example #1
0
    def setUp(self):
        service = Service(name='service 1 refund test', price=100)
        patient = Patient(name='patient 1 refund test', mobileNumber="232r3r32r3")
        user = User(name='user 1 ', userName="******", password='******')
        payments = []
        payments.append(ServicePayment(amount=100, paymentType=PaymentTypes.CASH) )
        payments.append(ServicePayment(amount=50, paymentType=PaymentTypes.CASH) )
        payments.append(ServicePayment(amount=50, paymentType=PaymentTypes.CASH) )
        payments.append(ServicePayment(amount=100, paymentType=PaymentTypes.CASH) )
        payments.append(ServicePayment(amount=100, paymentType=PaymentTypes.VISA) )
        serviceOrder = ServiceOrder(service=service, numberOfSessions=10, patient=patient, payments=payments)


        serviceOrder.refundOrder(amount=300, fee=100, user=user);

        db.session.add(serviceOrder)
        db.session.commit()


        payments = []
        payments.append(ServicePayment(amount=1000, paymentType=PaymentTypes.CASH) )
        payments.append(ServicePayment(amount=500, paymentType=PaymentTypes.VISA) )
        serviceOrder = ServiceOrder(service=service, numberOfSessions=20, patient=patient, payments=payments)


        serviceOrder.refundOrder(amount=1000, fee=500, user=user);

        db.session.add(serviceOrder)
        db.session.commit()
Example #2
0
    def setUp(self):
        service = Service(name="service 1 s", price=100)
        patient = Patient(name="patient 1 z", mobileNumber="121232")
        user = User(password="******", name="user one receive", userName="******")
        refundUser = User(password="******", name="refundUser", userName="******")
        payments = []
        payments.append(ServicePayment(amount=100, paymentType=PaymentTypes.CASH, createdBy=user))
        payments.append(ServicePayment(amount=50, paymentType=PaymentTypes.CASH, createdBy=user))
        payments.append(ServicePayment(amount=50, paymentType=PaymentTypes.CASH, createdBy=user))
        payments.append(ServicePayment(amount=100, paymentType=PaymentTypes.CASH, createdBy=user))
        payments.append(ServicePayment(amount=100, paymentType=PaymentTypes.VISA, createdBy=user))
        serviceOrder = ServiceOrder(service=service, numberOfSessions=10, patient=patient, payments=payments)

        db.session.add(serviceOrder)
        db.session.commit()

        serviceOrder.refundOrder(amount=300, fee=100, user=refundUser, refundReason="no reason !")

        db.session.add(serviceOrder)
        db.session.commit()

        payments = []
        payments.append(ServicePayment(amount=1000, paymentType=PaymentTypes.CASH, createdBy=user))
        payments.append(ServicePayment(amount=500, paymentType=PaymentTypes.VISA, createdBy=user))
        serviceOrder = ServiceOrder(service=service, numberOfSessions=20, patient=patient, payments=payments)
        db.session.add(serviceOrder)
        db.session.commit()

        serviceOrder.refundOrder(amount=1400, fee=100, user=refundUser, refundReason="no reason 22!")

        db.session.add(serviceOrder)
        db.session.commit()
Example #3
0
    def test_refund_state(self):
        
        patient = Patient(name='patient one with  order ', mobileNumber='11111')
        service = Service(name='service for orders x', price=150)
        user = User(name='test user  x', userName='******', password='******')
        
        sessions = None
        payment = ServicePayment(amount=120, paymentType=1)
        order = ServiceOrder(patient=patient,service=service, sessions=sessions, numberOfSessions=5, payments=[payment])
        self.assertEquals(order.totalPayments , 120)

        self.assertTrue(order.refundable)


        
        for session in order.sessions:
            session.arrived(user)
            self.assertTrue(SessionStates.arrived, session.state)

        for session in order.sessions:
            session.start(user)
            self.assertTrue(SessionStates.started, session.state)
            self.assertTrue(session.inTransitionState() )



        for session in order.sessions:
            session.done(user)
            self.assertTrue(SessionStates.done, session.state)
            self.assertFalse(session.inTransitionState() )

        order.refundOrder(amount=120, user=user)


        for session in order.sessions:
            self.assertEquals(SessionStates.refunded, session.state)
            self.assertFalse(session.inTransitionState() )
            self.assertTrue(session.hasState(SessionStates.arrived) )
            self.assertTrue(session.hasState(SessionStates.started) )
            self.assertTrue(session.hasState(SessionStates.done) )

            self.assertTrue(session.hasState(SessionStates.refunded) )