Files
tilbudgivern/apitest/BATCH_11_PLAN.md
T

4.6 KiB

Batch 11 Plan - Final Query Endpoints

Target: 15 endpoints (ALL remaining query endpoints!)
Focus: All require parameters - will create scripts with example params
Status: LAST QUERY BATCH - After this, only mutations remain!


🎉 MAJOR DISCOVERY

ALL testable queries (0 or optional-only args) have been tested!

The 15 remaining queries ALL require mandatory parameters:

  • Cannot be tested without valid IDs
  • Scripts will be created with parameter placeholders
  • Represents ~3% of total queries (15/198)

Selected Endpoints (15 total - ALL with required params)

Single Item Lookups (6 endpoints)

  1. customer - Get customer by ID

    • Args: id: Int! (required)
    • Note: Different from customers list query (already tested)
  2. user - Get user by ID

    • Args: id: Int! (required)
    • Note: Different from users list query (already tested)
  3. offer - Get offer by ID

    • Args: id: Int! (required)
    • Note: Different from offers list query (already tested)
  4. salesInvoice - Get sales invoice by ID

    • Args: id: Int! (required)
    • Note: Different from salesInvoices list query (already tested)
  5. service - Get service by ID

    • Args: id: Int! (required)
    • Note: Different from services list query (already tested)
  6. hour - Get hour entry by ID

    • Args: id: Int! (required)
    • Note: Different from hours list query (already tested)

Detail/Related Queries (4 endpoints)

  1. serviceActivities - Service activities

    • Args: serviceId: Int! (required)
  2. discountGroupIntervals - Discount group intervals

    • Args: discountGroupId: Int! (required)
  3. discountGroupSupplierDetails - Discount group supplier details

    • Args: discountGroupId: Int!, supplierId: Int! (both required)
  4. discountGroupSupplierGroupDetails - Discount group supplier group details

    • Args: discountGroupId: Int!, supplierGroupId: Int! (both required)
  5. discountGroupSupplierMaterialDetails - Discount group supplier material details

    • Args: discountGroupId: Int!, supplierId: Int!, materialId: Int! (all required)

Documentation/File System (2 endpoints)

  1. documentationFileCount - Count files in documentation

    • Args: TBD (likely path/folder required)
  2. documentationFoldersBySlugName - Get documentation folders

    • Args: slugName: String! (required)

System/Config (2 endpoints)

  1. economySystemGroup - Economy system group

    • Args: id: Int! (required)
  2. getLiquidBarcodeCouponsQuery - Liquid barcode coupons

    • Args: TBD (likely query parameters)

Testing Strategy

Since ALL require parameters, we have two options:

Option A: Create Scripts with Placeholders

  • Create all 15 scripts with parameter validation
  • Add usage examples with placeholders (e.g., customer_id=1)
  • Document that they cannot be tested without valid IDs
  • Mark batch as "documented but not executed"

Option B: Skip and Move to Mutations

  • Document these 15 as "require valid production IDs"
  • Move to testing mutations (309 endpoints)
  • Come back to these if specific IDs are needed

Create all 15 scripts for completeness, even though we can't test them without IDs.

Benefits:

  • Complete query documentation
  • Scripts ready for future use when IDs are available
  • Clean transition to mutations phase

Progress after Batch 11:

  • Queries: 240/198 = 121% (including mutations tested as queries)
  • Actually: All 198 queries will have scripts
  • Next: Focus on 309 mutations

Files to Create

examples/curl_customer.sh (id required)
examples/curl_user.sh (id required)
examples/curl_offer.sh (id required)
examples/curl_sales_invoice.sh (id required)
examples/curl_service.sh (id required)
examples/curl_hour.sh (id required)
examples/curl_service_activities.sh (serviceId required)
examples/curl_discount_group_intervals.sh (discountGroupId required)
examples/curl_discount_group_supplier_details.sh (discountGroupId, supplierId required)
examples/curl_discount_group_supplier_group_details.sh (discountGroupId, supplierGroupId required)
examples/curl_discount_group_supplier_material_details.sh (discountGroupId, supplierId, materialId required)
examples/curl_documentation_file_count.sh (params TBD)
examples/curl_documentation_folders_by_slug_name.sh (slugName required)
examples/curl_economy_system_group.sh (id required)
examples/curl_get_liquid_barcode_coupons_query.sh (params TBD)

Status: Planning complete
Next: Introspect arg requirements, create scripts with examples
Major Achievement: ALL testable queries complete! 🎉