Example #1
0
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')