diff --git a/hc/api/tests/test_sendalerts.py b/hc/api/tests/test_sendalerts.py new file mode 100644 index 00000000..c9d8d364 --- /dev/null +++ b/hc/api/tests/test_sendalerts.py @@ -0,0 +1,33 @@ +from datetime import datetime +from mock import patch + +from django.contrib.auth.models import User +from django.test import TestCase + +from hc.api.models import Check +from hc.api.management.commands.sendalerts import handle_many + + +class SendAlertsTestCase(TestCase): + + @patch("hc.api.management.commands.sendalerts.handle_one") + def test_it_handles_few(self, mock): + alice = User(username="alice") + alice.save() + + names = ["Check %d" % d for d in range(0, 10)] + + for name in names: + check = Check(user=alice, name=name) + check.alert_after = datetime(2000, 1, 1) + check.status = "up" + check.save() + + result = handle_many() + assert result, "handle_many should return True" + + handled_names = [] + for args, kwargs in mock.call_args_list: + handled_names.append(args[0].name) + + assert set(names) == set(handled_names)