Exemplo n.º 1
0
    def test_get_multi(self) -> None:
        feedback_models.GeneralFeedbackThreadUserModel.create(
            'user_id', 'exploration.exp_id.thread_id_1')
        feedback_models.GeneralFeedbackThreadUserModel.create(
            'user_id', 'exploration.exp_id.thread_id_2')

        expected_model_1 = feedback_models.GeneralFeedbackThreadUserModel(
            id='user_id.exploration.exp_id.thread_id_1',
            user_id='user_id',
            thread_id='exploration.exp_id.thread_id_1',
            message_ids_read_by_user=[])
        expected_model_2 = feedback_models.GeneralFeedbackThreadUserModel(
            id='user_id.exploration.exp_id.thread_id_2',
            user_id='user_id',
            thread_id='exploration.exp_id.thread_id_2',
            message_ids_read_by_user=[])

        actual_models = (
            feedback_models.GeneralFeedbackThreadUserModel.get_multi(
                'user_id',
                ['exploration.exp_id.thread_id_1',
                 'exploration.exp_id.thread_id_2']))

        actual_model_1 = actual_models[0]
        actual_model_2 = actual_models[1]

        # Ruling out the possibility of None for mypy type checking.
        assert actual_model_1 is not None
        assert actual_model_2 is not None
        self.assertEqual(actual_model_1.id, expected_model_1.id)
        self.assertEqual(actual_model_1.user_id, expected_model_1.user_id)
        self.assertEqual(actual_model_1.thread_id, expected_model_1.thread_id)
        self.assertEqual(
            actual_model_1.message_ids_read_by_user,
            expected_model_1.message_ids_read_by_user)

        self.assertEqual(actual_model_2.id, expected_model_2.id)
        self.assertEqual(actual_model_2.user_id, expected_model_2.user_id)
        self.assertEqual(actual_model_2.thread_id, expected_model_2.thread_id)
        self.assertEqual(
            actual_model_2.message_ids_read_by_user,
            expected_model_2.message_ids_read_by_user)
Exemplo n.º 2
0
 def test_has_reference_to_user_id(self) -> None:
     feedback_models.GeneralFeedbackThreadUserModel(
         id='id',
         thread_id='thread_id',
         user_id='user_id',
     ).put()
     self.assertTrue(
         feedback_models.GeneralFeedbackThreadUserModel.
         has_reference_to_user_id('user_id'))
     self.assertFalse(
         feedback_models.GeneralFeedbackThreadUserModel.
         has_reference_to_user_id('id_x'))
Exemplo n.º 3
0
    def test_get_object(self) -> None:
        feedback_models.GeneralFeedbackThreadUserModel.create(
            'user_id', 'exploration.exp_id.thread_id')
        expected_model = feedback_models.GeneralFeedbackThreadUserModel(
            id='user_id.exploration.exp_id.thread_id',
            user_id='user_id',
            thread_id='exploration.exp_id.thread_id',
            message_ids_read_by_user=[])

        actual_model = (feedback_models.GeneralFeedbackThreadUserModel.get(
            'user_id', 'exploration.exp_id.thread_id'))

        # Ruling out the possibility of None for mypy type checking.
        assert actual_model is not None
        self.assertEqual(actual_model.id, expected_model.id)
        self.assertEqual(actual_model.user_id, expected_model.user_id)
        self.assertEqual(actual_model.thread_id, expected_model.thread_id)
        self.assertEqual(actual_model.message_ids_read_by_user,
                         expected_model.message_ids_read_by_user)
Exemplo n.º 4
0
    def test_put_function(self) -> None:
        feedback_thread_model = feedback_models.GeneralFeedbackThreadUserModel(
            id='user_id.exploration.exp_id.thread_id',
            user_id='user_id',
            thread_id='exploration.exp_id.thread_id',
            message_ids_read_by_user=[])

        feedback_thread_model.update_timestamps()
        feedback_thread_model.put()

        last_updated = feedback_thread_model.last_updated

        # If we do not wish to update the last_updated time, we should set
        # the update_last_updated_time argument to False in the put function.
        feedback_thread_model.update_timestamps(update_last_updated_time=False)
        feedback_thread_model.put()
        self.assertEqual(feedback_thread_model.last_updated, last_updated)

        # If we do wish to change it however, we can simply use the put function
        # as the default value of update_last_updated_time is True.
        feedback_thread_model.update_timestamps()
        feedback_thread_model.put()
        self.assertNotEqual(feedback_thread_model.last_updated, last_updated)