diff --git a/bigcommerce/resources/__init__.py b/bigcommerce/resources/__init__.py index 587c69b..dd4141e 100644 --- a/bigcommerce/resources/__init__.py +++ b/bigcommerce/resources/__init__.py @@ -14,4 +14,5 @@ from .shipping import * from .store import * from .tax_classes import * -from .time import * \ No newline at end of file +from .time import * +from .webhooks import * diff --git a/bigcommerce/resources/webhooks.py b/bigcommerce/resources/webhooks.py new file mode 100644 index 0000000..f932668 --- /dev/null +++ b/bigcommerce/resources/webhooks.py @@ -0,0 +1,10 @@ +from .base import * + + +class Webhooks(ListableApiResource, CreateableApiResource, + UpdateableApiResource, DeleteableApiResource): + resource_name = 'hooks' + + @classmethod + def delete_all(self, connection=None): + raise NotImplementedError("The webhook resource does not have delete_all endpoint") diff --git a/tests/test_base.py b/tests/test_base.py index b67c62d..b9a14e0 100644 --- a/tests/test_base.py +++ b/tests/test_base.py @@ -1,6 +1,7 @@ import unittest from bigcommerce.resources import Mapping, Orders, ApiResource, OrderShipments from bigcommerce.resources.orders import OrderCoupons +from bigcommerce.resources.webhooks import Webhooks from mock import MagicMock @@ -167,4 +168,10 @@ def test_delete(self): shipment = OrderShipments({'id': 1, 'order_id': 2, '_connection': connection}) self.assertEqual(shipment.delete(), {}) - connection.make_request.assert_called_once_with('DELETE', 'orders/2/shipments/1', None, {}, {}) \ No newline at end of file + connection.make_request.assert_called_once_with('DELETE', 'orders/2/shipments/1', None, {}, {}) + + def test_webhook_delete_all(self): + connection = MagicMock() + connection.make_request.return_value = {} + + self.assertRaises(NotImplementedError, Webhooks.delete_all, connection=connection)