Exemplo n.º 1
0
def test_catering_order_comment_visibility(user_api_client, user, user2, catering_order2, catering_order_comment,
                                           catering_order2_comment, test_unit, test_unit2):

    # two reservation comments made on own reservations, both should be visible
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_order_comment, catering_order2_comment))

    # the second comment is created by the other user, still both should be visible
    catering_order2_comment.created_by = user2
    catering_order2_comment.save()
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_order_comment, catering_order2_comment))

    # the second comment is created by the other user to her reservation, it should be hidden
    catering_order2.reservation.user = user2
    catering_order2.reservation.save()
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, catering_order_comment)

    # adding comment access perm to an unrelated unit, the hidden comment should still be hidden
    assign_perm('unit:can_access_reservation_comments', user, test_unit)
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, catering_order_comment)

    # adding comment access perm to the second commit's unit, both comment should be visible once again
    assign_perm('unit:can_view_reservation_catering_orders', user, test_unit2)
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_order_comment, catering_order2_comment))
def test_can_view_others_orders_if_has_perm(user_api_client, user2, catering_order, reservation):
    user_api_client.force_authenticate(user=user2)
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert not response.data['results']

    assign_perm('unit:can_view_reservation_catering_orders', user2, reservation.resource.unit)
    user_api_client.force_authenticate(user=user2)
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, catering_order)
def test_unit_filter(user_api_client, catering_provider, catering_provider2, test_unit2, test_unit3):
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_provider, catering_provider2))

    response = user_api_client.get(LIST_URL + '?unit=%s' % test_unit2.pk)
    assert response.status_code == 200
    assert_response_objects(response, catering_provider2)

    response = user_api_client.get(LIST_URL + '?unit=%s' % test_unit3.pk)
    assert response.status_code == 200
    assert len(response.data['results']) == 0
Exemplo n.º 4
0
def test_category_filter(user_api_client, catering_product_category, catering_product,
                         catering_product2):

    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_product, catering_product2))

    response = user_api_client.get(LIST_URL + '?category=%s' % catering_product_category.pk)
    assert response.status_code == 200
    assert_response_objects(response, catering_product)

    response = user_api_client.get(LIST_URL + '?category=87568957858789698798')
    assert response.status_code == 400
Exemplo n.º 5
0
def test_provider_filter(user_api_client, catering_provider, catering_product, catering_product2):

    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_product, catering_product2))

    response = user_api_client.get(LIST_URL + '?provider=%s' % catering_provider.pk)
    assert response.status_code == 200
    assert_response_objects(response, catering_product)

    response = user_api_client.get(LIST_URL + '?provider=87568957858789698798')
    assert response.status_code == 200
    assert len(response.data['results']) == 0
def test_can_view_others_orders_if_has_perm(user_api_client, user2,
                                            catering_order, reservation):
    user_api_client.force_authenticate(user=user2)
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert not response.data['results']

    assign_perm('unit:can_view_reservation_catering_orders', user2,
                reservation.resource.unit)
    user_api_client.force_authenticate(user=user2)
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, catering_order)
def test_provider_filter(user_api_client, catering_provider, catering_product_category,
                         catering_product_category2):

    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_product_category, catering_product_category2))

    response = user_api_client.get(LIST_URL + '?provider=%s' % catering_provider.pk)
    assert response.status_code == 200
    assert_response_objects(response, catering_product_category)

    response = user_api_client.get(LIST_URL + '?provider=not_a_provider')
    assert response.status_code == 400
Exemplo n.º 8
0
def test_unit_filter(user_api_client, catering_provider, catering_provider2,
                     test_unit2, test_unit3):
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_provider, catering_provider2))

    response = user_api_client.get(LIST_URL + '?unit=%s' % test_unit2.pk)
    assert response.status_code == 200
    assert_response_objects(response, catering_provider2)

    response = user_api_client.get(LIST_URL + '?unit=%s' % test_unit3.pk)
    assert response.status_code == 200
    assert len(response.data['results']) == 0
Exemplo n.º 9
0
def test_provider_filter(user_api_client, catering_provider,
                         catering_product_category,
                         catering_product_category2):

    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(
        response, (catering_product_category, catering_product_category2))

    response = user_api_client.get(LIST_URL +
                                   '?provider=%s' % catering_provider.pk)
    assert response.status_code == 200
    assert_response_objects(response, catering_product_category)

    response = user_api_client.get(LIST_URL + '?provider=not_a_provider')
    assert response.status_code == 400
def test_reservation_filter(user_api_client, catering_order, reservation, reservation2, reservation3):
    catering_order2 = CateringOrder.objects.create(
        reservation=reservation2,
        provider=catering_order.provider,
        invoicing_data='123456',
    )
    catering_order3 = CateringOrder.objects.create(
        reservation=reservation2,
        provider=catering_order.provider,
        invoicing_data='654321',
    )
    catering_order_that_should_not_be_visible = CateringOrder.objects.create(
        reservation=reservation3,
        provider=catering_order.provider,
        invoicing_data='xxx',
    )

    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_order, catering_order2, catering_order3))

    response = user_api_client.get(LIST_URL + '?reservation=%s' % reservation.pk)
    assert response.status_code == 200
    assert_response_objects(response, catering_order)

    response = user_api_client.get(LIST_URL + '?reservation=%s' % reservation2.pk)
    assert response.status_code == 200
    assert_response_objects(response, (catering_order2, catering_order3))

    response = user_api_client.get(LIST_URL + '?reservation=%s' % reservation3.pk)
    assert response.status_code == 200
    assert not len(response.data['results'])
Exemplo n.º 11
0
def test_catering_order_comment_visibility(user_api_client, user, user2,
                                           catering_order2,
                                           catering_order_comment,
                                           catering_order2_comment, test_unit,
                                           test_unit2):

    # two reservation comments made on own reservations, both should be visible
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response,
                            (catering_order_comment, catering_order2_comment))

    # the second comment is created by the other user, still both should be visible
    catering_order2_comment.created_by = user2
    catering_order2_comment.save()
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response,
                            (catering_order_comment, catering_order2_comment))

    # the second comment is created by the other user to her reservation, it should be hidden
    catering_order2.reservation.user = user2
    catering_order2.reservation.save()
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, catering_order_comment)

    # adding comment access perm to an unrelated unit, the hidden comment should still be hidden
    assign_perm('unit:can_access_reservation_comments', user, test_unit)
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, catering_order_comment)

    # adding comment access perm to the second commit's unit, both comment should be visible once again
    assign_perm('unit:can_view_reservation_catering_orders', user, test_unit2)
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response,
                            (catering_order_comment, catering_order2_comment))
Exemplo n.º 12
0
def test_catering_order_comment_filtering(user_api_client, catering_order, catering_order_comment,
                                          catering_order2_comment, reservation_comment):
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (catering_order_comment, catering_order2_comment, reservation_comment))

    response = user_api_client.get(LIST_URL + '?target_type=catering_order')
    assert response.status_code == 200
    assert_response_objects(response, (catering_order_comment, catering_order2_comment))

    response = user_api_client.get(LIST_URL + '?target_type=catering_order&target_id=%s' % catering_order.id)
    assert response.status_code == 200
    assert_response_objects(response, catering_order_comment)
Exemplo n.º 13
0
def test_comment_filtering(user_api_client, user, reservation_comment, reservation2_comment, resource_group_comment,
                           reservation):
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response, (reservation_comment, reservation2_comment, resource_group_comment))

    response = user_api_client.get(LIST_URL + '?target_type=reservation')
    assert response.status_code == 200
    assert_response_objects(response, (reservation_comment, reservation2_comment))

    response = user_api_client.get(LIST_URL + '?target_type=reservation&target_id=%s' % reservation.id)
    assert response.status_code == 200
    assert_response_objects(response, reservation_comment)
Exemplo n.º 14
0
def test_reservation_comment_filtering(user_api_client, reservation_comment,
                                       reservation2_comment,
                                       catering_order_comment, reservation):
    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(
        response,
        (reservation_comment, reservation2_comment, catering_order_comment))

    response = user_api_client.get(LIST_URL + '?target_type=reservation')
    assert response.status_code == 200
    assert_response_objects(response,
                            (reservation_comment, reservation2_comment))

    response = user_api_client.get(LIST_URL +
                                   '?target_type=reservation&target_id=%s' %
                                   reservation.id)
    assert response.status_code == 200
    assert_response_objects(response, reservation_comment)
def test_reservation_filter(user_api_client, catering_order, reservation,
                            reservation2, reservation3):
    catering_order2 = CateringOrder.objects.create(
        reservation=reservation2,
        provider=catering_order.provider,
        invoicing_data='123456',
    )
    catering_order3 = CateringOrder.objects.create(
        reservation=reservation2,
        provider=catering_order.provider,
        invoicing_data='654321',
    )
    catering_order_that_should_not_be_visible = CateringOrder.objects.create(
        reservation=reservation3,
        provider=catering_order.provider,
        invoicing_data='xxx',
    )

    response = user_api_client.get(LIST_URL)
    assert response.status_code == 200
    assert_response_objects(response,
                            (catering_order, catering_order2, catering_order3))

    response = user_api_client.get(LIST_URL +
                                   '?reservation=%s' % reservation.pk)
    assert response.status_code == 200
    assert_response_objects(response, catering_order)

    response = user_api_client.get(LIST_URL +
                                   '?reservation=%s' % reservation2.pk)
    assert response.status_code == 200
    assert_response_objects(response, (catering_order2, catering_order3))

    response = user_api_client.get(LIST_URL +
                                   '?reservation=%s' % reservation3.pk)
    assert response.status_code == 200
    assert not len(response.data['results'])