mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-02 09:26:08 -05:00
Service and User API added, working with tests. Still need to polish the edges and add more tests.
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
import json
|
||||
from app.models import User
|
||||
from flask import url_for
|
||||
|
||||
|
||||
def test_get_user_list(notify_api, notify_db, notify_db_session, sample_user):
|
||||
"""
|
||||
Tests GET endpoint '/' to retrieve entire user list.
|
||||
"""
|
||||
with notify_api.test_request_context():
|
||||
with notify_api.test_client() as client:
|
||||
response = client.get(url_for('user.get_user'))
|
||||
assert response.status_code == 200
|
||||
json_resp = json.loads(response.get_data(as_text=True))
|
||||
# TODO assert correct json returned
|
||||
assert len(json_resp['data']) == 1
|
||||
assert json_resp['data'][0]['email_address'] == sample_user.email_address
|
||||
assert json_resp['data'][0]['id'] == sample_user.id
|
||||
|
||||
|
||||
def test_get_user(notify_api, notify_db, notify_db_session, sample_user):
|
||||
"""
|
||||
Tests GET endpoint '/<user_id>' to retrieve a single service.
|
||||
"""
|
||||
with notify_api.test_request_context():
|
||||
with notify_api.test_client() as client:
|
||||
resp = client.get(url_for('user.get_user',
|
||||
user_id=sample_user.id))
|
||||
assert resp.status_code == 200
|
||||
json_resp = json.loads(resp.get_data(as_text=True))
|
||||
assert json_resp['data']['email_address'] == sample_user.email_address
|
||||
assert json_resp['data']['id'] == sample_user.id
|
||||
|
||||
|
||||
def test_post_user(notify_api, notify_db, notify_db_session):
|
||||
"""
|
||||
Tests POST endpoint '/' to create a user.
|
||||
"""
|
||||
with notify_api.test_request_context():
|
||||
with notify_api.test_client() as client:
|
||||
assert User.query.count() == 0
|
||||
data = {
|
||||
'email_address': 'user@digital.cabinet-office.gov.uk'}
|
||||
headers = [('Content-Type', 'application/json')]
|
||||
resp = client.post(
|
||||
url_for('user.create_user'),
|
||||
data=json.dumps(data),
|
||||
headers=headers)
|
||||
assert resp.status_code == 201
|
||||
user = User.query.first()
|
||||
json_resp = json.loads(resp.get_data(as_text=True))
|
||||
assert json_resp['data']['email_address'] == user.email_address
|
||||
assert json_resp['data']['id'] == user.id
|
||||
|
||||
|
||||
def test_put_user(notify_api, notify_db, notify_db_session, sample_user):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user