def METHOD_NAME(
    staff_api_client, permission_group_all_perms_channel_USD_only, order, channel_PLN
):
    # given
    permission_group_all_perms_channel_USD_only.user_set.add(staff_api_client.user)
    order.channel = channel_PLN
    order.save(update_fields=["channel"])
    test_key = "test_key"
    metadata = {test_key: "test_val"}
    invoice = Invoice.objects.create(order=order, metadata=metadata)
    number = "01/12/2020/TEST"
    url = "http://www.example.com"
    graphene_invoice_id = graphene.Node.to_global_id("Invoice", invoice.pk)
    variables = {
        "id": graphene_invoice_id,
        "input": {
            "number": number,
            "url": url,
        },
    }
    # when
    response = staff_api_client.post_graphql(INVOICE_UPDATE_MUTATION, variables)
    # then
    assert_no_permission(response)