def test_dispatch_gladminds(self):
     result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '4444861111'})
     self.assertHttpOK(result)
     self.assertTrue('true' in result.content)
     result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500', 'phoneNumber' : '4444861111'})
     self.assertHttpBadRequest(result)
     result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['close'] + ' TESTVECHILEID00002', 'phoneNumber' : '4444861111'})
     self.assertHttpBadRequest(result)
 def test_is_valid_data(self):
     result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '4444861111'})
     self.assertHttpOK(result)
     self.assertTrue('true' in result.content)
     result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP002 500 1', 'phoneNumber' : '4444861111'})
     self.assertHttpOK(result)
     self.assertTrue('true' in result.content)
     result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['close'] + ' SAP002 COUPON005', 'phoneNumber' : '4444861111'})
     self.assertTrue('false' in result.content)
     self.assertHttpOK(result)
     result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['close'] + ' SAP001 COUPON004', 'phoneNumber' : '4444861111'})
     self.assertTrue('false' in result.content)
     self.assertHttpOK(result)
    def test_close_coupon(self):
        '''
            Coupon has been initiated by dealer - UMOTO
            Only UMOTO is allowed to close the coupon
        '''
        result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '4444861111'})
        self.assertHttpOK(result)
        self.assertTrue('true' in result.content)
#       Below Dealer will not be able to close the coupon
        result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['close'] + ' SAP001 COUPON005', 'phoneNumber' : '9999999999'})
        self.assertTrue('false' in result.content)
        self.assertHttpOK(result)
#       Below is the initiator and the coupon will be closed
        result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['close'] + ' SAP001 COUPON005', 'phoneNumber' : '4444861111'})
        self.assertTrue('true' in result.content)
        self.assertHttpOK(result)
    def test_expire_or_close_less_kms_coupon(self):
        result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '4444861111'})
        self.assertHttpOK(result)
        self.assertTrue('true' in result.content)
        # Coupon validation is tested for 3rd service coupon "COUPON007" with coupon for service 2 "COUPON006" unused.
        result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 5500 3', 'phoneNumber' : '4444861111'})
        self.assertHttpOK(result)
        result = client.post('/v1/messages', data={'customerId': 'SAP001', 'action' : 'validate', 'odoRead' : 5500, 'serviceType' : 3, 'advisorMobile' : '4444861111'})
        self.assertHttpOK(result)
        self.assertTrue('true' in result.content)
        # The coupon for service 1 should have been expired.
        coupon_obj = self.filter_coupon_obj(coupon_id='COUPON005')
        self.assertEqual(coupon_obj.status, 5)
 
        # The coupon for service 2 should have been expired.
        coupon_obj = self.filter_coupon_obj(coupon_id='COUPON006')
        self.assertEqual(coupon_obj.status, 5)
 
        # The 3rd service coupon should be in progress.
        coupon_obj = self.filter_coupon_obj(coupon_id='COUPON007')
        self.assertEqual(coupon_obj.status, 4)
 def test_coupon_initiators(self):
     client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '4444861111'})
     client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '9999999999'})
     coupon_obj = self.filter_coupon_obj(coupon_id='COUPON005')
     self.assertEqual(coupon_obj.status, 4)
     client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['close'] + ' SAP001 COUPON005', 'phoneNumber' : '4444861111'})
     coupon_obj = self.filter_coupon_obj(coupon_id='COUPON005')
     self.assertEqual(coupon_obj.status, 2)
 def test_inprogress_coupon(self):
     client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '4444861111'})
     # Change the expiry date and check for new service date.
     coupon_obj = self.filter_coupon_obj(coupon_id='COUPON005')
     coupon_obj.actual_service_date = datetime.now() - timedelta(days=20)
     coupon_obj.mark_expired_on = datetime.now() + timedelta(days=2)
     coupon_obj.save()
     client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '9999999999'})
     coupon_obj = self.filter_coupon_obj(coupon_id='COUPON005')
     self.assertEqual(coupon_obj.actual_service_date.date(), datetime.now().date())
     self.assertEqual(coupon_obj.extended_date.date(), datetime.now().date() + timedelta(days=COUPON_VALID_DAYS))
     self.assertEqual(coupon_obj.service_advisor.user.phone_number, '+919999999999')
     # Change the expiry date and actual service date to check new dealer assigned only.
     coupon_obj = self.filter_coupon_obj(coupon_id='COUPON005')
     coupon_obj.actual_service_date = datetime.now() - timedelta(days=20)
     coupon_obj.extended_date = coupon_obj.actual_service_date + timedelta(days=COUPON_VALID_DAYS)
     coupon_obj.mark_expired_on = datetime.now() - timedelta(days=2)
     expiry_date = coupon_obj.extended_date
     coupon_obj.save()
     client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP001 500 1', 'phoneNumber' : '4444861111'})
     coupon_obj = self.filter_coupon_obj(coupon_id='COUPON005')
     self.assertEqual(coupon_obj.service_advisor.user.phone_number, '+919999999999')
     self.assertEqual(coupon_obj.actual_service_date.date(), datetime.now().date())
     self.assertEqual(coupon_obj.extended_date.date(), expiry_date.date())
 def test_format_message(self):
     result = client.post('/v1/messages', data={'text':'   ' + settings.ALLOWED_KEYWORDS['check'] + '    SAP001   500   1    ', 'phoneNumber' : '4444861111'})
     self.assertHttpOK(result)
     self.assertTrue('true' in result.content)
 def test_no_available_coupons(self):
     # Close all the coupons
     coupon = self.filter_coupon_obj('COUPON004').delete()
     result = client.post('/v1/messages', data={'text':settings.ALLOWED_KEYWORDS['check'] + ' SAP002 500 1', 'phoneNumber' : '4444861111'})
     self.assertHttpOK(result)
 def test_customer_service_detail(self):
     # Register customer
     result = client.post('/v1/messages', data={'text': settings.ALLOWED_KEYWORDS['register']+ ' [email protected] customer1', 'phoneNumber' : '9999999'})
     self.assertHttpOK(result)
     result = client.post('/v1/messages', data={'text': settings.ALLOWED_KEYWORDS['service']+ ' SAP001', 'phoneNumber' : '9999999'})
     self.assertHttpOK(result)
 def test_register_customer(self):
     result = client.post('/v1/messages', data={'text': settings.ALLOWED_KEYWORDS['register']+ ' [email protected] customer1', 'phoneNumber' : '44448611'})
     self.assertHttpOK(result)
     # Customer already exist.
     result = client.post('/v1/messages', data={'text': settings.ALLOWED_KEYWORDS['register']+ ' [email protected] customer1', 'phoneNumber' : '4444866666'})
     self.assertHttpOK(result)