Ejemplo n.º 1
0
def get_minimal_attendee(db, user):
    attendee = AttendeeOrderTicketSubFactory(
        email=None, address=None, city=None, state=None, country=None, order__user=user
    )
    db.session.commit()

    return attendee
Ejemplo n.º 2
0
def test_edit_attendee_order(db, client, jwt):
    attendee = AttendeeOrderTicketSubFactory()
    order = OrderSubFactory(event=attendee.event)
    db.session.commit()

    attendee_order = attendee.order

    data = json.dumps({
        'data': {
            'type': 'attendee',
            'id': str(attendee.id),
            "relationships": {
                "order": {
                    "data": {
                        "id": str(order.id),
                        "type": "order"
                    }
                }
            },
        }
    })

    client.patch(
        f'/v1/attendees/{attendee.id}',
        content_type='application/vnd.api+json',
        headers=jwt,
        data=data,
    )

    db.session.refresh(attendee)

    # Order should not be updated
    assert attendee.order.id != order.id
    assert attendee.order.id == attendee_order.id
Ejemplo n.º 3
0
def test_edit_attendee_when_order_is_completed(db, client, jwt, user):
    attendee = AttendeeOrderTicketSubFactory(order__user=user)
    order = attendee.order

    order.status = "completed"

    db.session.commit()

    data = json.dumps(
        {
            'data': {
                'type': 'attendee',
                'id': str(attendee.id),
                'attributes': {"firstname": "Haider"},
                "relationships": {
                    "order": {"data": {"id": str(order.id), "type": "order"}}
                },
            }
        }
    )

    response = client.patch(
        f'/v1/attendees/{attendee.id}',
        content_type='application/vnd.api+json',
        headers=jwt,
        data=data,
    )

    db.session.refresh(attendee)

    # Attendee should not be updated
    assert response.status_code == 422
    assert attendee.firstname != "Haider"
def get_minimal_attendee(db, user=None, owner=False, event_status='published'):
    attendee = AttendeeOrderTicketSubFactory(
        order__user=user if not owner else None, event__state=event_status)
    if owner:
        role, _ = get_or_create(Role, name='owner', title_name='Owner')
        UsersEventsRoles(user=user, event=attendee.event, role=role)
    db.session.commit()

    return attendee
Ejemplo n.º 5
0
def test_edit_attendee_by_some_other_user(db, client, jwt):
    attendee = AttendeeOrderTicketSubFactory()
    order = attendee.order

    db.session.commit()

    data = json.dumps({
        'data': {
            'type': 'attendee',
            'id': str(attendee.id),
            'attributes': {
                "firstname": "Haider"
            },
            "relationships": {
                "order": {
                    "data": {
                        "id": str(order.id),
                        "type": "order"
                    }
                }
            },
        }
    })

    response = client.patch(
        f'/v1/attendees/{attendee.id}',
        content_type='application/vnd.api+json',
        headers=jwt,
        data=data,
    )

    db.session.refresh(attendee)

    assert response.status_code == 403

    assert attendee.firstname != "Haider"

    assert json.loads(response.data) == {
        'errors': [{
            'status':
            403,
            'source':
            None,
            'title':
            'Access Forbidden',
            'detail':
            'Only admin or that user itself can update attendee info',
        }],
        'jsonapi': {
            'version': '1.0'
        },
    }