class HelpExtensionTestCase(TestCase): def setUp(self): self.help = HelpExtension(Mock(), mock_bot()) def test_help_all_single_extension(self): fake_ext = Mock(NAME='blah', usage='foo bar baz') self.help.registry.get_all_extensions.return_value = [fake_ext] assert 'blah: foo bar baz' in self.help.help_all() def test_help_all_multiple_extensions(self): fake_ext = Mock(NAME='blah', usage='foo bar baz') fake_ext2 = Mock(NAME='myext', usage='helga do something') self.help.registry.get_all_extensions.return_value = [fake_ext, fake_ext2] assert 'blah: foo bar baz' in self.help.help_all() assert 'myext: helga do something' in self.help.help_all() def test_help_unknown_ext(self): self.help.registry.get_all_extensions.return_value = [Mock()] assert "don't know that one" in self.help.help('foo') def test_help_misconfigured_ext(self): self.help.registry.is_extension_name.return_value = True self.help.registry.get_all_extensions.return_value = [Mock()] assert "don't know that one" in self.help.help('foo') def test_help_responds(self): fake_ext = Mock(NAME='blah', usage='foo bar baz') self.help.registry.is_extension_name.return_value = True self.help.registry.get_all_extensions.return_value = [fake_ext] assert 'USAGE: foo bar baz' == self.help.help('blah')