def test_get_weekly_dashboard_stats_when_stats_model_is_none(self): exploration = self.save_new_valid_exploration(self.EXP_ID, self.owner_id, end_state_name='End') init_state_name = exploration.init_state_name event_services.StartExplorationEventHandler.record( self.EXP_ID, 1, init_state_name, self.USER_SESSION_ID, {}, feconf.PLAY_TYPE_NORMAL) self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), None) self.assertEquals( user_services.get_last_week_dashboard_stats(self.owner_id), None) with self.swap(user_services, 'get_current_date_as_string', self._mock_get_current_date_as_string): user_services.update_dashboard_stats_log(self.owner_id) self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), [{ self.CURRENT_DATE_AS_STRING: { 'total_plays': 0, 'num_ratings': 0, 'average_ratings': None } }])
def test_get_weekly_dashboard_stats(self): exploration = self.save_new_valid_exploration(self.EXP_ID, self.owner_id, end_state_name='End') init_state_name = exploration.init_state_name event_services.StartExplorationEventHandler.record( self.EXP_ID, 1, init_state_name, self.USER_SESSION_ID, {}, feconf.PLAY_TYPE_NORMAL) self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), None) self.assertEquals( user_services.get_last_week_dashboard_stats(self.owner_id), None) (user_jobs_continuous_test.ModifiedUserStatsAggregator. start_computation()) self.process_and_flush_pending_tasks() self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), None) self.assertEquals( user_services.get_last_week_dashboard_stats(self.owner_id), None) with self.swap(user_services, 'get_current_date_as_string', self._mock_get_current_date_as_string): user_services.update_dashboard_stats_log(self.owner_id) self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), [{ self.CURRENT_DATE_AS_STRING: { 'total_plays': 1, 'num_ratings': 0, 'average_ratings': None } }])
def test_get_weekly_dashboard_stats(self): exploration = self.save_new_valid_exploration( self.EXP_ID, self.owner_id, end_state_name='End') init_state_name = exploration.init_state_name event_services.StartExplorationEventHandler.record( self.EXP_ID, 1, init_state_name, self.USER_SESSION_ID, {}, feconf.PLAY_TYPE_NORMAL) self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), None) self.assertEquals( user_services.get_last_week_dashboard_stats(self.owner_id), None) (user_jobs_continuous_test.ModifiedUserStatsAggregator .start_computation()) self.process_and_flush_pending_tasks() self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), None) self.assertEquals( user_services.get_last_week_dashboard_stats(self.owner_id), None) with self.swap(user_services, 'get_current_date_as_string', self._mock_get_current_date_as_string): user_services.update_dashboard_stats_log(self.owner_id) self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), [{ self.CURRENT_DATE_AS_STRING: { 'total_plays': 1, 'num_ratings': 0, 'average_ratings': None } }])
def test_get_weekly_dashboard_stats_when_stats_model_is_none(self): exploration = self.save_new_valid_exploration( self.EXP_ID, self.owner_id, end_state_name='End') init_state_name = exploration.init_state_name event_services.StartExplorationEventHandler.record( self.EXP_ID, 1, init_state_name, self.USER_SESSION_ID, {}, feconf.PLAY_TYPE_NORMAL) self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), None) self.assertEquals( user_services.get_last_week_dashboard_stats(self.owner_id), None) with self.swap(user_services, 'get_current_date_as_string', self._mock_get_current_date_as_string): user_services.update_dashboard_stats_log(self.owner_id) self.assertEquals( user_services.get_weekly_dashboard_stats(self.owner_id), [{ self.CURRENT_DATE_AS_STRING: { 'total_plays': 0, 'num_ratings': 0, 'average_ratings': None } }])
def test_cannot_update_dashboard_stats_log_with_invalid_schema_version( self): model = user_models.UserStatsModel.get_or_create(self.owner_id) model.schema_version = 0 model.update_timestamps() model.put() self.assertIsNone(user_services.get_user_impact_score(self.owner_id)) with self.assertRaisesRegexp( Exception, 'Sorry, we can only process v1-v%d dashboard stats schemas at ' 'present.' % feconf.CURRENT_DASHBOARD_STATS_SCHEMA_VERSION): user_services.update_dashboard_stats_log(self.owner_id)
def map(item): user_services.update_dashboard_stats_log(item.id)
def map(item): """Implements the map function for this job.""" user_services.update_dashboard_stats_log(item.id)