"""Test intent_script component.""" import asyncio from homeassistant.bootstrap import async_setup_component from homeassistant.helpers import intent from tests.common import async_mock_service @asyncio.coroutine def test_intent_script(hass): """Test intent scripts work.""" calls = async_mock_service(hass, 'test', 'service') yield from async_setup_component(hass, 'intent_script', { 'intent_script': { 'HelloWorld': { 'action': { 'service': 'test.service', 'data_template': { 'hello': '{{ name }}' } }, 'card': { 'title': 'Hello {{ name }}', 'content': 'Content for {{ name }}', }, 'speech': { 'text': 'Good morning {{ name }}' } } } }) response = yield from intent.async_handle( hass, 'test', 'HelloWorld', {'name': {'value': 'Paulus'}} ) assert len(calls) == 1 assert calls[0].data['hello'] == 'Paulus' assert response.speech['plain']['speech'] == 'Good morning Paulus' assert response.card['simple']['title'] == 'Hello Paulus' assert response.card['simple']['content'] == 'Content for Paulus'