From 602d70ae25851c32fa64794bb4f75aeb14a8f094 Mon Sep 17 00:00:00 2001 From: Ari Gilder Date: Thu, 4 Jul 2019 22:29:58 -0400 Subject: [PATCH 1/4] Add missing support for omer_count to jewish_calendar --- homeassistant/components/jewish_calendar/sensor.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/homeassistant/components/jewish_calendar/sensor.py b/homeassistant/components/jewish_calendar/sensor.py index ec86abecc4413d..2eafe3c61e1e14 100644 --- a/homeassistant/components/jewish_calendar/sensor.py +++ b/homeassistant/components/jewish_calendar/sensor.py @@ -185,6 +185,8 @@ def make_zmanim(date): self._state = times.havdalah elif self.type == 'issur_melacha_in_effect': self._state = make_zmanim(now).issur_melacha_in_effect + elif self.type == 'omer_count': + self._state = date.omer_day else: times = make_zmanim(today).zmanim self._state = times[self.type].time() From 454dc8d21bc4708b0270fa3853a793fb74cbb937 Mon Sep 17 00:00:00 2001 From: Ari Gilder Date: Thu, 4 Jul 2019 23:37:31 -0400 Subject: [PATCH 2/4] Add tests for omer sensor --- .../components/jewish_calendar/test_sensor.py | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/tests/components/jewish_calendar/test_sensor.py b/tests/components/jewish_calendar/test_sensor.py index 6a7f9249fe1f02..0dc40ce2d377a0 100644 --- a/tests/components/jewish_calendar/test_sensor.py +++ b/tests/components/jewish_calendar/test_sensor.py @@ -445,3 +445,53 @@ def test_issur_melacha_sensor(self, now, candle_lighting, havdalah, sensor.async_update(), self.hass.loop).result() assert sensor.state == result + + omer_params = [ + make_nyc_test_params(dt(2019, 4, 21, 0, 0), 1), + make_jerusalem_test_params(dt(2019, 4, 21, 0, 0), 1), + make_nyc_test_params(dt(2019, 5, 23, 0, 0), 33), + make_jerusalem_test_params(dt(2019, 5, 23, 0, 0), 33), + make_nyc_test_params(dt(2019, 6, 8, 0, 0), 49), + make_jerusalem_test_params(dt(2019, 6, 8, 0, 0), 49), + make_nyc_test_params(dt(2019, 6, 9, 0, 0), 0), + make_jerusalem_test_params(dt(2019, 6, 9, 0, 0), 0), + make_nyc_test_params(dt(2019, 1, 1, 0, 0), 0), + make_jerusalem_test_params(dt(2019, 1, 1, 0, 0), 0), + ] + omer_test_ids = [ + "nyc_first_day_of_omer", + "israel_first_day_of_omer", + "nyc_lag_baomer", + "israel_lag_baomer", + "nyc_last_day_of_omer", + "israel_last_day_of_omer", + "nyc_shavuot_no_omer", + "israel_shavuot_no_omer", + "nyc_jan_1st_no_omer", + "israel_jan_1st_no_omer", + ] + + @pytest.mark.parametrize(["now", "candle_lighting", "havdalah", "diaspora", + "tzname", "latitude", "longitude", "result"], + omer_params, ids=omer_test_ids) + def test_omer_sensor(self, now, candle_lighting, havdalah, + diaspora, tzname, latitude, longitude, + result): + """Test Omer Count sensor output.""" + time_zone = get_time_zone(tzname) + set_default_time_zone(time_zone) + test_time = time_zone.localize(now) + self.hass.config.latitude = latitude + self.hass.config.longitude = longitude + sensor = JewishCalSensor( + name='test', language='english', + sensor_type='omer_count', + latitude=latitude, longitude=longitude, + timezone=time_zone, diaspora=diaspora) + sensor.hass = self.hass + with patch('homeassistant.util.dt.now', return_value=test_time): + run_coroutine_threadsafe( + sensor.async_update(), + self.hass.loop).result() + assert sensor.state == result + From 5830af634ecf224e74d05eaecb0284bbc900545e Mon Sep 17 00:00:00 2001 From: Ari Gilder Date: Thu, 4 Jul 2019 23:41:17 -0400 Subject: [PATCH 3/4] Add tests for omer after tzeit hakochavim --- tests/components/jewish_calendar/test_sensor.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/components/jewish_calendar/test_sensor.py b/tests/components/jewish_calendar/test_sensor.py index 0dc40ce2d377a0..5f29aea1f3a635 100644 --- a/tests/components/jewish_calendar/test_sensor.py +++ b/tests/components/jewish_calendar/test_sensor.py @@ -449,6 +449,8 @@ def test_issur_melacha_sensor(self, now, candle_lighting, havdalah, omer_params = [ make_nyc_test_params(dt(2019, 4, 21, 0, 0), 1), make_jerusalem_test_params(dt(2019, 4, 21, 0, 0), 1), + make_nyc_test_params(dt(2019, 4, 21, 23, 0), 2), + make_jerusalem_test_params(dt(2019, 4, 21, 23, 0), 2), make_nyc_test_params(dt(2019, 5, 23, 0, 0), 33), make_jerusalem_test_params(dt(2019, 5, 23, 0, 0), 33), make_nyc_test_params(dt(2019, 6, 8, 0, 0), 49), @@ -461,6 +463,8 @@ def test_issur_melacha_sensor(self, now, candle_lighting, havdalah, omer_test_ids = [ "nyc_first_day_of_omer", "israel_first_day_of_omer", + "nyc_first_day_of_omer_after_tzeit", + "israel_first_day_of_omer_after_tzeit", "nyc_lag_baomer", "israel_lag_baomer", "nyc_last_day_of_omer", From 256f6d4a37ac3f5ca9e6d859892d278ccdcf3a55 Mon Sep 17 00:00:00 2001 From: Ari Gilder Date: Thu, 4 Jul 2019 23:46:47 -0400 Subject: [PATCH 4/4] Lint fixes --- tests/components/jewish_calendar/test_sensor.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/components/jewish_calendar/test_sensor.py b/tests/components/jewish_calendar/test_sensor.py index 5f29aea1f3a635..783de0be9dea17 100644 --- a/tests/components/jewish_calendar/test_sensor.py +++ b/tests/components/jewish_calendar/test_sensor.py @@ -479,8 +479,8 @@ def test_issur_melacha_sensor(self, now, candle_lighting, havdalah, "tzname", "latitude", "longitude", "result"], omer_params, ids=omer_test_ids) def test_omer_sensor(self, now, candle_lighting, havdalah, - diaspora, tzname, latitude, longitude, - result): + diaspora, tzname, latitude, longitude, + result): """Test Omer Count sensor output.""" time_zone = get_time_zone(tzname) set_default_time_zone(time_zone) @@ -498,4 +498,3 @@ def test_omer_sensor(self, now, candle_lighting, havdalah, sensor.async_update(), self.hass.loop).result() assert sensor.state == result -