Esempio n. 1
0
def test_edit_list__normal_use(ahj_obj,
                               generate_client_with_webpage_credentials):
    client = generate_client_with_webpage_credentials(Username='******')
    user = User.objects.get(Username='******')
    Edit.objects.create(EditID=1,
                        AHJPK=ahj_obj,
                        ChangedBy=user,
                        EditType='A',
                        SourceTable='AHJ',
                        SourceColumn='BuildingCode',
                        SourceRow='2118',
                        DateRequested=timezone.now())
    Edit.objects.create(EditID=2,
                        AHJPK=ahj_obj,
                        ChangedBy=user,
                        EditType='A',
                        SourceTable='AHJ',
                        SourceColumn='BuildingCode',
                        SourceRow='2118',
                        DateRequested=timezone.now())

    url = reverse('edit-list')
    response = client.get(url, {'AHJPK': '1'})
    assert response.status_code == 200
    assert len(response.data) == 2
Esempio n. 2
0
def test_edit_review__authenticated_normal_use(
        user_type, generate_client_with_webpage_credentials, ahj_obj):
    client = generate_client_with_webpage_credentials(Username='******')
    user = User.objects.get(Username='******')
    if user_type == 'Admin':
        user.is_superuser = True
        user.save()
    elif user_type == 'AHJOfficial':
        AHJUserMaintains.objects.create(UserID=user,
                                        AHJPK=ahj_obj,
                                        MaintainerStatus=True)
    edit_dict = {
        'ChangedBy': user,
        'ApprovedBy': None,
        'SourceTable': 'AHJ',
        'SourceRow': ahj_obj.pk,
        'SourceColumn': 'AHJName',
        'OldValue': 'oldname',
        'NewValue': 'newname',
        'DateRequested': timezone.now(),
        'DateEffective': None,
        'ReviewStatus': 'P',
        'EditType': 'U',
        'AHJPK': ahj_obj
    }
    edit = Edit.objects.create(**edit_dict)
    url = reverse('edit-review')
    response = client.post(url, {'EditID': edit.EditID, 'Status': 'A'})
    assert response.status_code == 200
    edit = Edit.objects.get(EditID=edit.EditID)
    assert edit.ReviewStatus == 'A'
    assert edit.ApprovedBy == user
    tomorrow = timezone.now() + datetime.timedelta(days=1)
    assert edit.DateEffective.date() == tomorrow.date()
Esempio n. 3
0
def test_edit_update__normal_use(ahj_obj,
                                 generate_client_with_webpage_credentials):
    client = generate_client_with_webpage_credentials(Username='******')
    user = User.objects.get(Username='******')
    inspection = AHJInspection.objects.create(AHJPK=ahj_obj,
                                              AHJInspectionName='Inspection1',
                                              TechnicianRequired=1,
                                              InspectionStatus=True)
    url = reverse('edit-update')
    input = [{
        'AHJPK': ahj_obj.AHJPK,
        'SourceTable': 'AHJInspection',
        'SourceRow': inspection.pk,
        'SourceColumn': 'AHJInspectionName',
        'NewValue': 'NewName'
    }]
    response = client.post(url, input, format='json')
    assert response.status_code == 200
    edit = Edit.objects.get(
        AHJPK=ahj_obj.AHJPK
    )  # Got newly created edit object and set it as approved
    edit.ReviewStatus = 'A'
    edit.DateEffective = timezone.now()
    edit.ApprovedBy = user
    edit.save()
    views_edits.apply_edits(
    )  # Now that it's approved, apply edits will apply it.
    Inspection = AHJInspection.objects.get(AHJPK=ahj_obj)
    assert Inspection.AHJInspectionName == 'NewName'
Esempio n. 4
0
def test_edit_addition__normal_use(ahj_obj,
                                   generate_client_with_webpage_credentials):
    client = generate_client_with_webpage_credentials(Username='******')
    user = User.objects.get(Username='******')
    AHJInspection.objects.create(AHJPK=ahj_obj,
                                 AHJInspectionName='Inspection1',
                                 TechnicianRequired=1,
                                 InspectionStatus=True)
    url = reverse('edit-addition')

    response = client.post(url, {
        'SourceTable': 'AHJInspection',
        'AHJPK': ahj_obj.AHJPK,
        'ParentTable': 'AHJ',
        'ParentID': ahj_obj.AHJPK,
        'Value': [{
            'AHJInspectionName': 'NewName'
        }]
    },
                           format='json')
    assert response.status_code == 200
    assert response.data[0]['AHJInspectionName'][
        'Value'] == 'NewName'  # confirm returned AHJInspection was updated
    edit = Edit.objects.get(AHJPK=ahj_obj.AHJPK)
    assert edit.EditType == 'A'
    assert edit.NewValue == 'True'
    assert edit.SourceRow == response.data[0]['InspectionID']['Value']
Esempio n. 5
0
def test_edit_review__no_auth_normal_use(
        generate_client_with_webpage_credentials, ahj_obj):
    client = generate_client_with_webpage_credentials(Username='******')
    user = User.objects.get(Username='******')
    edit_dict = {
        'ChangedBy': user,
        'ApprovedBy': None,
        'SourceTable': 'AHJ',
        'SourceRow': ahj_obj.pk,
        'SourceColumn': 'AHJName',
        'OldValue': 'oldname',
        'NewValue': 'newname',
        'DateRequested': timezone.now(),
        'DateEffective': None,
        'ReviewStatus': 'P',
        'EditType': 'U',
        'AHJPK': ahj_obj
    }
    edit = Edit.objects.create(**edit_dict)
    url = reverse('edit-review')
    response = client.post(url, {'EditID': edit.EditID, 'Status': 'A'})
    assert response.status_code == 403
Esempio n. 6
0
def test_edit_list__missing_param(generate_client_with_webpage_credentials):
    client = generate_client_with_webpage_credentials(Username='******')
    url = reverse('edit-list')
    response = client.get(url)
    assert response.status_code == 200
    assert len(response.data) == 0
Esempio n. 7
0
def test_edit_update__missing_param(params,
                                    generate_client_with_webpage_credentials):
    client = generate_client_with_webpage_credentials(Username='******')
    url = reverse('edit-deletion')
    response = client.post(url, params)
    assert response.status_code == 400
Esempio n. 8
0
def test_edit_review__edit_does_not_exist(
        generate_client_with_webpage_credentials):
    client = generate_client_with_webpage_credentials(Username='******')
    url = reverse('edit-review')
    response = client.post(url, {'EditID': 0, 'Status': 'A'})
    assert response.status_code == 400