Skip to content

Commit

Permalink
More tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ludeeus committed Oct 28, 2019
1 parent 3813f4f commit a672923
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
5 changes: 4 additions & 1 deletion custom_components/hacs/hacsbase/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,14 @@ class Configuration:
def from_dict(configuration: dict, options: dict):
"""Set attributes from dicts."""
if isinstance(options, bool) or isinstance(configuration.get("options"), bool):
raise HacsUserScrewupException("That is not valid.")
raise HacsUserScrewupException("Configuration is not valid.")

if options is None:
options = {}

if not configuration:
raise HacsUserScrewupException("Configuration is not valid.")

return Configuration(
config=configuration,
options=options,
Expand Down
15 changes: 9 additions & 6 deletions tests/test_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# pylint: disable=missing-docstring
import pytest
from custom_components.hacs.hacsbase.configuration import Configuration
from custom_components.hacs.hacsbase.exceptions import HacsUserScrewupException


def test_configuration_and_option():
Expand Down Expand Up @@ -40,13 +41,15 @@ def test_configuration_and_option():
assert not config.experimental


def test_configuration_only_pass_dict():
assert Configuration.from_dict({"token": "xxxxxxxxxx"}, {})
def test_edge_option_only_pass_empty_dict_as_configuration():
with pytest.raises(HacsUserScrewupException):
assert Configuration.from_dict({}, {"experimental": True})


def test_option_only_pass_dict():
assert Configuration.from_dict({}, {"experimental": True})
def test_edge_configuration_only_pass_none_as_option():
assert Configuration.from_dict({"token": "xxxxxxxxxx"}, None)


def test_configuration_only_pass_none():
assert Configuration.from_dict({"token": "xxxxxxxxxx"}, None)
def test_edge_options_true():
with pytest.raises(HacsUserScrewupException):
assert Configuration.from_dict({"options": True}, None)

0 comments on commit a672923

Please sign in to comment.