Skip to content

Commit 716549d

Browse files
committed
API: Patron creation problem
* FIX Fixes error during an non-existing patron creation. Signed-off-by: Johnny Mariéthoz <[email protected]>
1 parent cfa1cba commit 716549d

File tree

4 files changed

+23
-20
lines changed

4 files changed

+23
-20
lines changed

rero_ils/config.py

+3
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,9 @@ def _(x):
180180
ACCOUNTS_SESSION_REDIS_URL = 'redis://localhost:6379/1'
181181
# Disable User Profiles
182182
USERPROFILES = False
183+
# make security blueprints available to the REST API
184+
ACCOUNTS_REGISTER_BLUEPRINT = True
185+
183186

184187
# Celery configuration
185188
# ====================

rero_ils/modules/ext.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,14 @@ def init_app(self, app):
7777
"""Flask application initialization."""
7878
self.init_config(app)
7979
app.extensions['rero-ils'] = self
80-
app.context_processor(lambda: dict(
81-
admin_root_menu=current_admin.admin.menu()))
80+
81+
# invenio-admin is not available for the wsgi_api application
82+
def get_admin_menu():
83+
if app.extensions.get('invenio-admin'):
84+
return dict(admin_root_menu=current_admin.admin.menu())
85+
return dict()
86+
87+
app.context_processor(get_admin_menu)
8288

8389
def init_config(self, app):
8490
"""Initialize configuration."""

tests/api/test_patrons_rest.py

+6-8
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,12 @@ def test_patrons_post_put_delete(client, lib_martigny,
154154
# Create record / POST
155155
patron_data['pid'] = '1'
156156
patron_data['email'] = '[email protected]'
157-
with mock.patch('rero_ils.modules.patrons.api.'
158-
'send_reset_password_instructions'):
159-
160-
res = client.post(
161-
post_url,
162-
data=json.dumps(patron_data),
163-
headers=json_header
164-
)
157+
158+
res = client.post(
159+
post_url,
160+
data=json.dumps(patron_data),
161+
headers=json_header
162+
)
165163

166164
assert res.status_code == 201
167165
assert len(Patron.get_all_pids()) == pids + 1

tests/api/test_patrons_views.py

+6-10
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def test_patron_listener(client, librarian_martigny_no_email,
143143
lib_fully, loc_public_martigny,
144144
patron_martigny_no_email,
145145
patron_martigny,
146-
loan_pending):
146+
loan_pending, mailbox):
147147
"""Test patron listener."""
148148
login_user_via_session(client, librarian_martigny_no_email.user)
149149
requests = item_lib_fully.number_of_requests()
@@ -152,12 +152,8 @@ def test_patron_listener(client, librarian_martigny_no_email,
152152
item_lib_fully.validate_request(**request)
153153
item_lib_fully.receive(**loan_pending)
154154

155-
with mock.patch(
156-
'rero_ils.modules.ext.current_admin',
157-
{}
158-
):
159-
sender = {}
160-
data = {'item': item_lib_fully}
161-
with mock.patch('rero_ils.utils.send_mail'):
162-
with pytest.raises(AttributeError):
163-
assert listener_item_at_desk(sender, **data)
155+
sender = {}
156+
data = {'item': item_lib_fully}
157+
n_msg = len(mailbox)
158+
listener_item_at_desk(sender, **data)
159+
assert len(mailbox) == n_msg + 1

0 commit comments

Comments
 (0)