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%')
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')
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)
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)