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)
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()
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)