def test_patch_relationships(client): citizens = [make_citizen(citizen_id=x) for x in range(1, 11)] body = {'citizens': citizens} status, data = send_create_import_request(client, body) assert status == 201 import_id = data['data']['import_id'] citizen_id = 10 body = {'relatives': []} status, data = send_patch_citizen_request(client, import_id, citizen_id, body) assert status == 200 citizen_id = 10 body = {'relatives': [1, 2, 3, 4, 5, 6, 7, 8, 9]} status, data = send_patch_citizen_request(client, import_id, citizen_id, body) assert status == 200 citizen_id = 9 body = make_citizen(relatives=[1, 2, 3, 4, 5, 6, 7, 8, 10]) del body['citizen_id'] status, data = send_patch_citizen_request(client, import_id, citizen_id, body) assert status == 200 citizen_id = 10 body = {'relatives': []} status, data = send_patch_citizen_request(client, import_id, citizen_id, body) assert status == 200 citizen_id = 9 body = make_citizen(relatives=[]) del body['citizen_id'] status, data = send_patch_citizen_request(client, import_id, citizen_id, body) assert status == 200
def test_patch_all_rows(client): citizens = [make_citizen(citizen_id=x) for x in range(1, 11)] body = {'citizens': citizens} status, data = send_create_import_request(client, body) assert status == 201 import_id = data['data']['import_id'] citizen_id = 3 bodies = [] for key in make_citizen().keys(): if key == 'citizen_id': continue citizen_part = {key: make_citizen()[key]} bodies.append(citizen_part) assert all([send_patch_citizen_request(client, import_id, citizen_id, body)[0] == 200 for body in bodies]) bodies = [] for key in make_citizen().keys(): if key == 'citizen_id': continue citizen_part = make_citizen() del citizen_part['citizen_id'] del citizen_part[key] bodies.append(citizen_part) assert all([send_patch_citizen_request(client, import_id, citizen_id, body)[0] == 200 for body in bodies])
def test_wrong_citizen_id(client: FlaskClient): bad_citizen = make_citizen(citizen_id=0) body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400 bad_citizen = make_citizen(citizen_id=-1) body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400
def test_wrong_relatives_data_type(client: FlaskClient): bad_citizen = make_citizen(relatives='a') body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400 bad_citizen = make_citizen(relatives=["a"]) body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400
def test_wrong_apartment_data_type(client: FlaskClient): bad_citizen = make_citizen(apartment=None) body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400 bad_citizen = make_citizen(apartment='a') body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400
def test_missing_citizen_fields(client: FlaskClient): bodies = [] for key in make_citizen().keys(): bad_citizen = make_citizen() del bad_citizen[key] bodies.append({'citizens': [bad_citizen]}) assert all([ send_create_import_request(client, body)[0] == 400 for body in bodies ])
def test_wrong_birth_date_data_type(client: FlaskClient): bad_citizen = make_citizen(birth_date=None) body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400 bad_citizen = make_citizen(birth_date='b') body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400 bad_citizen = make_citizen(birth_date='12.12.201a') body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400
def test_single_citizen(client): body = {'citizens': [make_citizen()]} status, data = send_create_import_request(client, body) assert status == 201 import_id = data['data']['import_id'] status, data = send_get_citizens_request(client, import_id) assert status == 200
def test_basic_test(client): citizens = [make_citizen(citizen_id=x) for x in range(1, 11)] body = {'citizens': citizens} status, data = send_create_import_request(client, body) assert status == 201 import_id = data['data']['import_id'] status, data = send_get_birthdays_request(client, import_id=import_id) assert status == 200
def test_wrong_date_format(client: FlaskClient): bad_citizen = make_citizen(birth_date='01.1.2019') body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400
def test_duplicate_ids(client: FlaskClient): body = {'citizens': [make_citizen(), make_citizen()]} status, data = send_create_import_request(client, body) assert status == 400
def test_relationships_are_not_mutual(client: FlaskClient): bad_citizen1 = make_citizen(relatives=[2]) bad_citizen2 = make_citizen(citizen_id=2, relatives=[]) body = {'citizens': [bad_citizen1, bad_citizen2]} status, data = send_create_import_request(client, body) assert status == 400
def test_unexistent_relative(client: FlaskClient): bad_citizen = make_citizen(relatives=[2]) body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400
def test_good_citizens_relationships(client: FlaskClient): good_citizen1 = make_citizen(citizen_id=1, relatives=[2]) good_citizen2 = make_citizen(citizen_id=2, relatives=[1]) body = {'citizens': [good_citizen1, good_citizen2]} status, data = send_create_import_request(client, body) assert status == 201
def test_wrong_building_data_type(client: FlaskClient): bad_citizen = make_citizen(building=None) body = {'citizens': [bad_citizen]} status, data = send_create_import_request(client, body) assert status == 400