mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-04-29 21:51:00 -04:00
Delete caches when user accepts invite
Accepting an invite changes: - the `user_to_service` list of users returned by `GET /service/<id>` - the `services` list return by `GET /user/<id>` The latter change is causing the functional tests to fail.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from app.notify_client import NotifyAdminAPIClient, _attach_current_user
|
||||
from app.notify_client import NotifyAdminAPIClient, _attach_current_user, cache
|
||||
from app.notify_client.models import (
|
||||
InvitedUser,
|
||||
translate_permissions_from_admin_roles_to_db,
|
||||
@@ -44,6 +44,8 @@ class InviteApiClient(NotifyAdminAPIClient):
|
||||
self.post(url='/service/{0}/invite/{1}'.format(service_id, invited_user_id),
|
||||
data=data)
|
||||
|
||||
@cache.delete('service')
|
||||
@cache.delete('user', key_from_args=[1])
|
||||
def accept_invite(self, service_id, invited_user_id):
|
||||
data = {'status': 'accepted'}
|
||||
self.post(url='/service/{0}/invite/{1}'.format(service_id, invited_user_id),
|
||||
|
||||
@@ -3,7 +3,7 @@ from unittest.mock import call
|
||||
import pytest
|
||||
from tests.conftest import SERVICE_ONE_ID, fake_uuid
|
||||
|
||||
from app import service_api_client, user_api_client
|
||||
from app import invite_api_client, service_api_client, user_api_client
|
||||
from app.notify_client.service_api_client import ServiceAPIClient
|
||||
|
||||
|
||||
@@ -221,6 +221,7 @@ def test_returns_value_from_cache(
|
||||
(service_api_client, 'update_service_callback_api', [SERVICE_ONE_ID] + [''] * 4, {}),
|
||||
(service_api_client, 'create_service_callback_api', [SERVICE_ONE_ID] + [''] * 3, {}),
|
||||
(user_api_client, 'add_user_to_service', [SERVICE_ONE_ID, fake_uuid(), []], {}),
|
||||
(invite_api_client, 'accept_invite', [SERVICE_ONE_ID, fake_uuid()], {}),
|
||||
])
|
||||
def test_deletes_service_cache(
|
||||
app_,
|
||||
|
||||
@@ -3,7 +3,7 @@ from unittest.mock import call
|
||||
import pytest
|
||||
from tests.conftest import SERVICE_ONE_ID, api_user_pending, fake_uuid
|
||||
|
||||
from app import service_api_client, user_api_client
|
||||
from app import invite_api_client, service_api_client, user_api_client
|
||||
from app.notify_client.models import User
|
||||
|
||||
user_id = fake_uuid()
|
||||
@@ -248,6 +248,7 @@ def test_returns_value_from_cache(
|
||||
(user_api_client, 'set_user_permissions', [user_id, SERVICE_ONE_ID, []], {}),
|
||||
(user_api_client, 'activate_user', [api_user_pending(fake_uuid())], {}),
|
||||
(service_api_client, 'remove_user_from_service', [SERVICE_ONE_ID, user_id], {}),
|
||||
(invite_api_client, 'accept_invite', [SERVICE_ONE_ID, user_id], {}),
|
||||
])
|
||||
def test_deletes_user_cache(
|
||||
app_,
|
||||
|
||||
Reference in New Issue
Block a user