From 53627fd1ba2e06192f7ee728a3caf2e4761062c4 Mon Sep 17 00:00:00 2001 From: Katie Smith Date: Fri, 8 Feb 2019 14:11:10 +0000 Subject: [PATCH] Add update letter branding method to letter branding client --- app/notify_client/letter_branding_client.py | 11 ++++++++++ .../test_letter_branding_client.py | 20 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/app/notify_client/letter_branding_client.py b/app/notify_client/letter_branding_client.py index 88afe99c6..0a577d55e 100644 --- a/app/notify_client/letter_branding_client.py +++ b/app/notify_client/letter_branding_client.py @@ -20,5 +20,16 @@ class LetterBrandingClient(NotifyAdminAPIClient): } return self.post(url="/letter-branding", data=data) + @cache.delete('letter_branding') + @cache.delete('letter_branding-{branding_id}') + def update_letter_branding(self, branding_id, filename, name, domain): + data = { + "filename": filename, + "name": name, + "domain": domain, + + } + return self.post(url="/letter-branding/{}".format(branding_id), data=data) + letter_branding_client = LetterBrandingClient() diff --git a/tests/app/notify_client/test_letter_branding_client.py b/tests/app/notify_client/test_letter_branding_client.py index 454c1f3dc..232d55fa8 100644 --- a/tests/app/notify_client/test_letter_branding_client.py +++ b/tests/app/notify_client/test_letter_branding_client.py @@ -1,3 +1,5 @@ +from unittest.mock import call + from app.notify_client.letter_branding_client import LetterBrandingClient @@ -51,3 +53,21 @@ def test_create_letter_branding(mocker): ) mock_redis_delete.assert_called_once_with('letter_branding') + + +def test_update_letter_branding(mocker, fake_uuid): + branding = {'filename': 'uuid-test', 'name': 'my letters', 'domain': 'example.com'} + + mock_post = mocker.patch('app.notify_client.letter_branding_client.LetterBrandingClient.post') + mock_redis_delete = mocker.patch('app.notify_client.RedisClient.delete') + LetterBrandingClient().update_letter_branding( + branding_id=fake_uuid, filename=branding['filename'], name=branding['name'], domain=branding['domain']) + + mock_post.assert_called_once_with( + url='/letter-branding/{}'.format(fake_uuid), + data=branding + ) + assert mock_redis_delete.call_args_list == [ + call('letter_branding'), + call('letter_branding-{}'.format(fake_uuid)), + ]