예제 #1
0
파일: tests.py 프로젝트: glukagen/titanfile
    def test_churn_acquisition(self):
        ''' test method Dashboard.churn_acquisition() '''
        
        # Empty database has no users
        self.failUnlessEqual(Dashboard.churn_acquisition(), '0% / 0% / 0%')
        
        # create user which left today
        date = datetime.datetime.now()
        u = self.getUser()
        s = Subscription(owner=u, monthly_fee=0)        
        s.date_cancelled = date
        s.date_deleted = date
        s.save()
        
        self.failUnlessEqual(Dashboard.churn_acquisition(), '100% / 100% / 100%')

        # create user which left 3 days before
        date -= datetime.timedelta(days=3)     
        s.date_cancelled = date
        s.date_deleted = date
        s.save()        
        self.failUnlessEqual(Dashboard.churn_acquisition(), '0% / 100% / 100%')
        
        # create user which left 23 days before
        date -= datetime.timedelta(days=20)
        s.date_cancelled = date
        s.date_deleted = date
        s.save()        
        self.failUnlessEqual(Dashboard.churn_acquisition(), '0% / 0% / 100%')
        
        # Delete all data
        u.delete()
        self.failUnlessEqual(Dashboard.churn_acquisition(), '0% / 0% / 0%')
예제 #2
0
파일: tests.py 프로젝트: glukagen/titanfile
 def test_churn_rage_per_time(self):
     ''' test method Dashboard.churn_rage_per_time() '''
     
     # Empty database has no users
     self.failUnlessEqual(Dashboard.churn_rage_per_time(), '0 / 0 / 0')
     
     # create user which left 20 days before 
     u = self.getUser()
     now = datetime.datetime.now()
     date = now - datetime.timedelta(days=20)     
     s = Subscription(owner=u, monthly_fee=0)        
     s.date_cancelled = date
     s.date_deleted = date
     s.save()
     
     self.failUnlessEqual(Dashboard.churn_rage_per_time(), '0 / 0 / 1')
 
     # create user which left 3 days before 
     date = now - datetime.timedelta(days=3)
     s.date_cancelled = date
     s.date_deleted = date
     s.save()
     
     self.failUnlessEqual(Dashboard.churn_rage_per_time(), '0 / 1 / 1')
 
     # create user which left today
     s.date_cancelled = now
     s.date_deleted = now
     s.save()        
     self.failUnlessEqual(Dashboard.churn_rage_per_time(), '1 / 1 / 1')
     
     # Delete all data
     u.delete()
     self.failUnlessEqual(Dashboard.churn_rage_per_time(), '0 / 0 / 0')
예제 #3
0
파일: tests.py 프로젝트: glukagen/titanfile
 def test_left_daily(self):
     ''' test method Dashboard.left_daily() '''
     u = self.getUser()
     now = datetime.datetime.now()
     
     # Empty database has no users
     self.failUnlessEqual(Dashboard.left_daily(), 0)
     
     # create 1 user which left today
     s = Subscription(owner=u, monthly_fee=0)        
     s.date_cancelled = now
     s.date_deleted = now
     s.save()
     
     self.failUnlessEqual(Dashboard.left_daily(), 1)
     
     # Delete all data
     u.delete()        
     self.failUnlessEqual(Dashboard.left_monthly(), 0)
예제 #4
0
파일: tests.py 프로젝트: glukagen/titanfile
 def test_left_weekly(self):
     ''' test method Dashboard.left_weekly() '''
     
     # Empty database has no users
     self.failUnlessEqual(Dashboard.left_weekly(), 0)
     
     # create 1 user which left 3 days before
     u = self.getUser()
     date = datetime.datetime.now() - datetime.timedelta(days=3)        
     
     s = Subscription(owner=u, monthly_fee=0)        
     s.date_cancelled = date
     s.date_deleted = date
     s.save()
     
     self.failUnlessEqual(Dashboard.left_weekly(), 1)
 
     # Delete all data
     u.delete()  
     self.failUnlessEqual(Dashboard.left_monthly(), 0)