def test_expire(self):
     user = PicklableMock()
     user.forms = {"pay_phone_scenario": None}
     pay_phone_scenario = PicklableMock()
     pay_phone_scenario.form_type = "pay_phone_scenario"
     scenarios = ScenarioDescription({"pay_phone_scenario": pay_phone_scenario})
     user.descriptions = {"scenarios": scenarios}
     last_scenario_description = PicklableMock()
     items = ["pay_phone_scenario"]
     ls = LastScenarios(items, last_scenario_description, user)
     ls.expire()
     self.assertSequenceEqual([], ls.raw)
示例#2
0
    def test_action(self):
        scenario_name = "test_scenario"
        user = PicklableMock()
        user.forms = PicklableMock()

        user.last_scenarios.last_scenario_name = scenario_name
        scenario = PicklableMock()
        scenario.form_type = scenario_name
        user.descriptions = {"scenarios": {scenario_name: scenario}}

        action = ClearScenarioByIdAction({"scenario_id": scenario_name})
        result = action.run(user, {}, {})
        self.assertIsNone(result)
        user.last_scenarios.delete.assert_called_once()
        user.forms.remove_item.assert_called_once()
示例#3
0
    def test_action_with_empty_last_scenario(self):
        scenario_name = "test_scenario"
        user = PicklableMock()
        user.forms = PicklableMock()
        user.forms.remove_item = PicklableMock()

        user.last_scenarios.last_scenario_name = None
        scenario = PicklableMock()
        scenario.form_type = scenario_name
        scenario.keep_forms_alive = False
        user.descriptions = {"scenarios": {scenario_name: scenario}}

        action = ClearCurrentScenarioFormAction({})
        result = action.run(user, {}, {})
        self.assertIsNone(result)
        user.forms.remove_item.assert_not_called()
    def test_add_1(self):
        items = ["pay_phone_scenario"]
        forms = MagicMock(name="context_form_mock")
        forms.clear_form = self.remove_item
        user = PicklableMock()
        user.forms = forms

        pay_phone_scenario = PicklableMock()
        pay_phone_scenario.keep_forms_alive = False
        pay_phone_scenario.form_type = "pay_phone_scenario"
        user.descriptions = {"scenarios": ScenarioDescription({"pay_phone_scenario": pay_phone_scenario})}
        last_scenario_description = PicklableMock()
        last_scenario_description.get_count = Mock(return_value=1)
        ls = LastScenarios(items, last_scenario_description, user)
        new_scenario = "callcenter_scenario"
        ls.add(new_scenario, None)
        self.assertSequenceEqual(["callcenter_scenario"], ls.raw)
        self.assertSequenceEqual({"callcenter_scenario": {"remove_time": 2506421370}}, self.forms_dict)