"""NuHeat component tests."""
import unittest

from unittest.mock import patch
from tests.common import get_test_home_assistant, MockDependency

from homeassistant.components import nuheat

VALID_CONFIG = {
    "nuheat": {
        "username": "warm",
        "password": "feet",
        "devices": "thermostat123"
    }
}


class TestNuHeat(unittest.TestCase):
    """Test the NuHeat component."""

    def setUp(self):  # pylint: disable=invalid-name
        """Initialize the values for this test class."""
        self.hass = get_test_home_assistant()
        self.config = VALID_CONFIG

    def tearDown(self):  # pylint: disable=invalid-name
        """Teardown this test class. Stop hass."""
        self.hass.stop()

    @MockDependency("nuheat")
    @patch("homeassistant.helpers.discovery.load_platform")
    def test_setup(self, mocked_nuheat, mocked_load):
        """Test setting up the NuHeat component."""
        nuheat.setup(self.hass, self.config)

        mocked_nuheat.NuHeat.assert_called_with("warm", "feet")
        self.assertIn(nuheat.DOMAIN, self.hass.data)
        self.assertEquals(2, len(self.hass.data[nuheat.DOMAIN]))
        self.assertEquals(self.hass.data[nuheat.DOMAIN][0], "thermostat123")
        self.assertEquals(self.hass.data[nuheat.DOMAIN][1], "thermostat123")

        mocked_load.assert_called_with(
            self.hass, "climate", nuheat.DOMAIN, {}, self.config
        )

"""NuHeat component tests."""
import unittest

from unittest.mock import patch
from tests.common import get_test_home_assistant, MockDependency

from homeassistant.components import nuheat

VALID_CONFIG = {
    "nuheat": {
        "username": "warm",
        "password": "feet",
        "devices": "thermostat123"
    }
}


class TestNuHeat(unittest.TestCase):
    """Test the NuHeat component."""

    def setUp(self):  # pylint: disable=invalid-name
        """Initialize the values for this test class."""
        self.hass = get_test_home_assistant()
        self.config = VALID_CONFIG

    def tearDown(self):  # pylint: disable=invalid-name
        """Teardown this test class. Stop hass."""
        self.hass.stop()

    @MockDependency("nuheat")
    @patch("homeassistant.helpers.discovery.load_platform")
    def test_setup(self, mocked_nuheat, mocked_load):
        """Test setting up the NuHeat component."""
        nuheat.setup(self.hass, self.config)

        mocked_nuheat.NuHeat.assert_called_with("warm", "feet")
        self.assertIn(nuheat.DOMAIN, self.hass.data)
        self.assertEquals(2, len(self.hass.data[nuheat.DOMAIN]))
        self.assertIsInstance(
            self.hass.data[nuheat.DOMAIN][0], type(mocked_nuheat.NuHeat())
        )
        self.assertEquals(self.hass.data[nuheat.DOMAIN][1], "thermostat123")

        mocked_load.assert_called_with(
            self.hass, "climate", nuheat.DOMAIN, {}, self.config
        )

fix bad nuheat component test