Example #1
0
    def test_to_dict(self):
        incomplete_exp_ids = ['0']
        incomplete_coll_ids = ['1']
        completed_exp_ids = ['2']
        completed_coll_ids = ['3']
        exploration_playlist_ids = ['4']
        collection_playlist_ids = ['5']

        observed_activity_ids_in_learner_dashboard = (
            learner_progress_domain.ActivityIdsInLearnerDashboard(
                completed_exp_ids, completed_coll_ids, incomplete_exp_ids,
                incomplete_coll_ids, exploration_playlist_ids,
                collection_playlist_ids))
        to_dict_result = observed_activity_ids_in_learner_dashboard.to_dict()

        self.assertEqual(to_dict_result['completed_exploration_ids'],
                         completed_exp_ids)
        self.assertEqual(to_dict_result['completed_collection_ids'],
                         completed_coll_ids)
        self.assertEqual(to_dict_result['incomplete_exploration_ids'],
                         incomplete_exp_ids)
        self.assertEqual(to_dict_result['incomplete_collection_ids'],
                         incomplete_coll_ids)
        self.assertEqual(to_dict_result['exploration_playlist_ids'],
                         exploration_playlist_ids)
        self.assertEqual(to_dict_result['collection_playlist_ids'],
                         collection_playlist_ids)
def get_learner_dashboard_activities(user_id):
    """Returns the ids of each of the activities that are present in the various
    sections of the learner dashboard, namely the completed section, the
    incomplete section and the playlist section.

    Args:
        user_id: str. The id of the learner.

    Returns:
        ActivityIdsInLearnerDashboard. The domain object containing the ids of
            all activities in the learner dashboard.
    """
    learner_progress_models = (
        datastore_services.fetch_multiple_entities_by_ids_and_models(
            [
                ('CompletedActivitiesModel', [user_id]),
                ('IncompleteActivitiesModel', [user_id]),
                ('LearnerPlaylistModel', [user_id])
            ]))

    # If completed model is present.
    if learner_progress_models[0][0]:
        activities_completed = _get_completed_activities_from_model(
            learner_progress_models[0][0])
        completed_exploration_ids = activities_completed.exploration_ids
        completed_collection_ids = activities_completed.collection_ids
    else:
        completed_collection_ids = []
        completed_exploration_ids = []

    # If incomplete model is present.
    if learner_progress_models[1][0]:
        incomplete_activities = _get_incomplete_activities_from_model(
            learner_progress_models[1][0])
        incomplete_exploration_ids = incomplete_activities.exploration_ids
        incomplete_collection_ids = incomplete_activities.collection_ids
    else:
        incomplete_exploration_ids = []
        incomplete_collection_ids = []

    # If learner playlist model is present.
    if learner_progress_models[2][0]:
        learner_playlist = (
            learner_playlist_services.get_learner_playlist_from_model(
                learner_progress_models[2][0]))
        exploration_playlist_ids = learner_playlist.exploration_ids
        collection_playlist_ids = learner_playlist.collection_ids
    else:
        exploration_playlist_ids = []
        collection_playlist_ids = []

    activity_ids = learner_progress_domain.ActivityIdsInLearnerDashboard(
        completed_exploration_ids, completed_collection_ids,
        incomplete_exploration_ids, incomplete_collection_ids,
        exploration_playlist_ids, collection_playlist_ids)

    return activity_ids
    def test_to_dict(self):
        incomplete_exp_ids = ['0']
        incomplete_coll_ids = ['1']
        partially_learnt_topic_ids = ['3']
        completed_exp_ids = ['4']
        completed_coll_ids = ['5']
        completed_story_ids = ['6']
        learnt_topic_ids = ['7']
        topic_ids_to_learn = ['8']
        all_topic_ids = ['9']
        untracked_topic_ids = ['10']
        exploration_playlist_ids = ['11']
        collection_playlist_ids = ['12']

        observed_activity_ids_in_learner_dashboard = (
            learner_progress_domain.ActivityIdsInLearnerDashboard(
                completed_exp_ids,
                completed_coll_ids,
                completed_story_ids,
                learnt_topic_ids,
                incomplete_exp_ids,
                incomplete_coll_ids,
                partially_learnt_topic_ids,
                topic_ids_to_learn,
                all_topic_ids,
                untracked_topic_ids,
                exploration_playlist_ids,
                collection_playlist_ids))
        to_dict_result = observed_activity_ids_in_learner_dashboard.to_dict()

        self.assertEqual(
            to_dict_result['completed_exploration_ids'], completed_exp_ids)
        self.assertEqual(
            to_dict_result['completed_collection_ids'], completed_coll_ids)
        self.assertEqual(
            to_dict_result['completed_story_ids'], completed_story_ids)
        self.assertEqual(
            to_dict_result['learnt_topic_ids'], learnt_topic_ids)
        self.assertEqual(
            to_dict_result['incomplete_exploration_ids'], incomplete_exp_ids)
        self.assertEqual(
            to_dict_result['incomplete_collection_ids'], incomplete_coll_ids)
        self.assertEqual(
            to_dict_result['partially_learnt_topic_ids'],
            partially_learnt_topic_ids)
        self.assertEqual(
            to_dict_result['topic_ids_to_learn'], topic_ids_to_learn)
        self.assertEqual(
            to_dict_result['all_topic_ids'], all_topic_ids)
        self.assertEqual(
            to_dict_result['untracked_topic_ids'], untracked_topic_ids)
        self.assertEqual(
            to_dict_result['exploration_playlist_ids'],
            exploration_playlist_ids)
        self.assertEqual(
            to_dict_result['collection_playlist_ids'], collection_playlist_ids)