Add tests for context decorators
parent
c78c4f6c03
commit
5caf415a15
|
@ -0,0 +1,42 @@
|
|||
from unittest import TestCase, mock
|
||||
|
||||
from mycroft.skills.context import adds_context, removes_context
|
||||
"""
|
||||
Tests for the adapt context decorators.
|
||||
"""
|
||||
|
||||
|
||||
class ContextSkillMock(mock.Mock):
|
||||
"""Mock class to apply decorators on."""
|
||||
@adds_context('DestroyContext')
|
||||
def handler_adding_context(self):
|
||||
pass
|
||||
|
||||
@adds_context('DestroyContext', 'exterminate')
|
||||
def handler_adding_context_with_words(self):
|
||||
pass
|
||||
|
||||
@removes_context('DestroyContext')
|
||||
def handler_removing_context(self):
|
||||
pass
|
||||
|
||||
|
||||
class TestContextDecorators(TestCase):
|
||||
def test_adding_context(self):
|
||||
"""Check that calling handler adds the correct Keyword."""
|
||||
skill = ContextSkillMock()
|
||||
skill.handler_adding_context()
|
||||
skill.set_context.assert_called_once_with('DestroyContext', '')
|
||||
|
||||
def test_adding_context_with_words(self):
|
||||
"""Ensure that decorated handler adds Keyword and content."""
|
||||
skill = ContextSkillMock()
|
||||
skill.handler_adding_context_with_words()
|
||||
skill.set_context.assert_called_once_with('DestroyContext',
|
||||
'exterminate')
|
||||
|
||||
def test_removing_context(self):
|
||||
"""Make sure the decorated handler removes the specified context."""
|
||||
skill = ContextSkillMock()
|
||||
skill.handler_removing_context()
|
||||
skill.remove_context.assert_called_once_with('DestroyContext')
|
Loading…
Reference in New Issue