def test_delete_permit_amendment(test_client, db_session, auth_headers):
    am_guid = PermitAmendmentFactory().permit_amendment_guid

    del_resp = test_client.delete(f'/permits/amendments/{am_guid}',
                                  headers=auth_headers['full_auth_header'])
    assert del_resp.status_code == 204, del_resp
    assert PermitAmendment.find_by_permit_amendment_guid(str(am_guid)) is None
def test_get_permit_amendment_by_guid(test_client, db_session, auth_headers):
    pa_guid = PermitAmendmentFactory().permit_amendment_guid

    get_resp = test_client.get(f'/permits/amendments/{pa_guid}',
                               headers=auth_headers['full_auth_header'])
    get_data = json.loads(get_resp.data.decode())
    assert get_resp.status_code == 200, get_resp.response
    assert get_data['permit_amendment_guid'] == str(pa_guid)
def test_get_permit_amendment_not_found(test_client, db_session, auth_headers):
    permit_amendment = PermitAmendmentFactory()
    get_resp = test_client.get(
        f'/mines/{permit_amendment.mine_guid}/permits/{permit_amendment.permit_guid}/amendments/' +
        str(uuid.uuid4()),
        headers=auth_headers['full_auth_header'])
    get_data = json.loads(get_resp.data.decode())
    assert get_resp.status_code == 404
    assert get_data['message'] is not None
def test_delete_permit_amendment(test_client, db_session, auth_headers):
    permit_amendment = PermitAmendmentFactory()

    del_resp = test_client.delete(
        f'/mines/{permit_amendment.mine_guid}/permits/{permit_amendment.permit_guid}/amendments/{permit_amendment.permit_amendment_guid}',
        headers=auth_headers['full_auth_header'])
    assert del_resp.status_code == 200, del_resp
    assert PermitAmendment.find_by_permit_amendment_guid(
        str(permit_amendment.permit_amendment_guid)) is None
def test_delete_twice_permit_amendment(test_client, db_session, auth_headers):
    am_guid = PermitAmendmentFactory().permit_amendment_guid

    del_resp = test_client.delete(f'/permits/amendments/{am_guid}',
                                  headers=auth_headers['full_auth_header'])
    assert del_resp.status_code == 204, del_resp

    #try again
    del_resp = test_client.delete(f'/permits/amendments/{am_guid}',
                                  headers=auth_headers['full_auth_header'])
    assert del_resp.status_code == 404, del_resp
def test_put_new_file(test_client, db_session, auth_headers):
    permit_amendment = PermitAmendmentFactory()
    document_count = len(permit_amendment.related_documents)

    data = {'document_manager_guid': str(uuid.uuid4()), 'filename': 'a_file.pdf'}
    put_resp = test_client.put(
        f'/mines/{permit_amendment.mine_guid}/permits/{permit_amendment.permit.permit_guid}/amendments/{permit_amendment.permit_amendment_guid}/documents',
        headers=auth_headers['full_auth_header'],
        data=data)

    assert put_resp.status_code == 200
    assert len(permit_amendment.related_documents) == document_count + 1