def test_clear_all(self):
        items = ["pay_phone_scenario"]
        forms = MagicMock(name="context_form_mock")
        user = PicklableMock()
        user.forms = forms

        pay_phone_scenario = PicklableMock()
        pay_phone_scenario.keep_forms_alive = False
        user.descriptions = {"scenarios": {"pay_phone_scenario": pay_phone_scenario}}

        last_scenario_description = PicklableMock()
        last_scenario_description.check = Mock(return_value=True)
        last_scenario_description.get_count = Mock(return_value=2)
        ls = LastScenarios(items, last_scenario_description, user)
        new_scenario = "callcenter_scenario"
        ls.add(new_scenario, None)
        ls.clear_all()
        self.assertSequenceEqual([], ls.raw)
    def test_add_3(self):
        items = ["pay_phone_scenario"]
        forms = MagicMock(name="context_form_mock")
        user = PicklableMock()
        user.forms = forms

        pay_phone_scenario = PicklableMock()
        pay_phone_scenario.keep_forms_alive = True
        user.descriptions = {"scenarios": ScenarioDescription({"pay_phone_scenario": pay_phone_scenario})}
        last_scenario_description = PicklableMock()
        last_scenario_description.check = Mock(return_value=True)
        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)
        correct_result = {'pay_phone_scenario': {'fields': {'amount': {'value': 100.0}, 'approve': {'available': True,
                                                                                                    'value': True}},
                          'remove_time': 1506418333}, 'callcenter_scenario': {'remove_time': 2506421370}}
        self.assertSequenceEqual(["callcenter_scenario"], ls.raw)
        self.assertSequenceEqual(correct_result, self.forms_dict)