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()
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()
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) )