def test_initialize(self): handler = ContextHandler() handler.provider = Mock() handler.widget_class = SimpleWidget # Context settings from data widget = SimpleWidget() context_settings = [DummyContext()] handler.initialize(widget, {'context_settings': context_settings}) self.assertTrue(hasattr(widget, 'context_settings')) self.assertEqual(widget.context_settings, context_settings) # Default (global) context settings widget = SimpleWidget() handler.initialize(widget) self.assertTrue(hasattr(widget, 'context_settings')) self.assertEqual(widget.context_settings, handler.global_contexts)
def test_read_defaults(self): contexts = [DummyContext() for _ in range(3)] handler = ContextHandler() handler.widget_class = SimpleWidget # Old settings without version migrate_context = Mock() with patch.object(SimpleWidget, "migrate_context", migrate_context): handler.read_defaults_file(create_defaults_file(contexts)) self.assertSequenceEqual(handler.global_contexts, contexts) migrate_context.assert_has_calls([call(c, 0) for c in contexts]) # Settings with version contexts = [DummyContext(version=i) for i in range(1, 4)] migrate_context.reset_mock() with patch.object(SimpleWidget, "migrate_context", migrate_context): handler.read_defaults_file(create_defaults_file(contexts)) self.assertSequenceEqual(handler.global_contexts, contexts) migrate_context.assert_has_calls([call(c, c.values[VERSION_KEY]) for c in contexts])
def test_read_defaults(self): contexts = [DummyContext() for _ in range(3)] handler = ContextHandler() handler.widget_class = SimpleWidget # Old settings without version migrate_context = Mock() with patch.object(SimpleWidget, "migrate_context", migrate_context): handler.read_defaults_file(create_defaults_file(contexts)) self.assertSequenceEqual(handler.global_contexts, contexts) migrate_context.assert_has_calls([call(c, 0) for c in contexts]) # Settings with version contexts = [DummyContext(version=i) for i in range(1, 4)] migrate_context.reset_mock() with patch.object(SimpleWidget, "migrate_context", migrate_context): handler.read_defaults_file(create_defaults_file(contexts)) self.assertSequenceEqual(handler.global_contexts, contexts) migrate_context.assert_has_calls( [call(c, c.values[VERSION_KEY]) for c in contexts])