def test_serialization(self):
     task = InvokeHeroMethodTask(self.hero.id,
                                 method_name='some_method',
                                 method_kwargs={
                                     'x': 'y',
                                     'z': 0
                                 })
     self.assertEqual(
         task.serialize(),
         InvokeHeroMethodTask.deserialize(task.serialize()).serialize())
    def test_success(self):
        with self.check_delta(lambda: self.hero.experience, 66):
            task = InvokeHeroMethodTask(
                self.hero.id, method_name="add_experience", method_kwargs={"value": 66, "without_modifications": True}
            )

            self.assertEqual(
                task.process(FakePostpondTaskPrototype(), self.storage), POSTPONED_TASK_LOGIC_RESULT.SUCCESS
            )

            self.assertTrue(task.state.is_PROCESSED)
    def test__can_not_found_method(self):
        task = InvokeHeroMethodTask(self.hero.id,
                                    method_name='missed_method',
                                    method_kwargs={
                                        'x': 'y',
                                        'z': 0
                                    })

        self.assertEqual(
            task.process(FakePostpondTaskPrototype(), self.storage),
            POSTPONED_TASK_LOGIC_RESULT.ERROR)

        self.assertTrue(task.state.is_METHOD_NOT_FOUND)
    def test_success(self):
        with self.check_delta(lambda: self.hero.experience, 66):
            task = InvokeHeroMethodTask(self.hero.id,
                                        method_name='add_experience',
                                        method_kwargs={
                                            'value': 66,
                                            'without_modifications': True
                                        })

            self.assertEqual(
                task.process(FakePostpondTaskPrototype(), self.storage),
                POSTPONED_TASK_LOGIC_RESULT.SUCCESS)

            self.assertTrue(task.state.is_PROCESSED)
 def test_create(self):
     task = InvokeHeroMethodTask(self.hero.id,
                                 method_name='some_method',
                                 method_kwargs={
                                     'x': 'y',
                                     'z': 0
                                 })
     self.assertTrue(task.state.is_UNPROCESSED)
     self.assertTrue(task.hero_id, self.hero.id)
     self.assertTrue(task.method_name, 'some_method')
     self.assertTrue(task.method_kwargs, {'x': 'y', 'z': 0})
    def test__can_not_found_method(self):
        task = InvokeHeroMethodTask(self.hero.id, method_name="missed_method", method_kwargs={"x": "y", "z": 0})

        self.assertEqual(task.process(FakePostpondTaskPrototype(), self.storage), POSTPONED_TASK_LOGIC_RESULT.ERROR)

        self.assertTrue(task.state.is_METHOD_NOT_FOUND)
 def test_serialization(self):
     task = InvokeHeroMethodTask(self.hero.id, method_name="some_method", method_kwargs={"x": "y", "z": 0})
     self.assertEqual(task.serialize(), InvokeHeroMethodTask.deserialize(task.serialize()).serialize())