00:00 +0: loading C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart 00:00 +0: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions destination 2/3 finalizes before everyone votes Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions agency 2/3 finalizes and records only one bid Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~2: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions destination 3/4 finalizes before everyone votes Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~3: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions agency 3/4 finalizes and records only one bid Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~4: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions destination 3/5 finalizes before everyone votes Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~5: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions agency 3/5 finalizes and records only one bid Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~6: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions destination duplicate member vote replaces its prior choice Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~7: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions agency duplicate member vote updates one ballot Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~8: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions destination 2-2-1 uses the existing tie-only next round Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~9: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions agency 2-2-1 closes without early winner, old cheaper-bid tie-break remains Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~10: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions destination simultaneous final votes preserve one winner Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~11: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions agency simultaneous final votes preserve one winner Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~12: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions destination excludes departed/inactive votes Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~13: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_database_test.dart: isolated MariaDB majority transactions agency excludes departed/inactive votes Skip: Run work/run_majority_database_tests.py with an isolated schema. 00:00 +0 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: destination 1/3 early majority = false 00:00 +1 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: agency 1/3 early majority = false 00:00 +2 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: destination 2/3 early majority = true 00:00 +3 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: agency 2/3 early majority = true 00:00 +4 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: destination 2/4 early majority = false 00:00 +5 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: agency 2/4 early majority = false 00:00 +6 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: destination 3/4 early majority = true 00:00 +7 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: agency 3/4 early majority = true 00:00 +8 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: destination 3/5 early majority = true 00:00 +9 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: agency 3/5 early majority = true 00:00 +10 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: destination 3/6 early majority = false 00:00 +11 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: agency 3/6 early majority = false 00:00 +12 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: destination 4/6 early majority = true 00:00 +13 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: agency 4/6 early majority = true 00:00 +14 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: thresholds use the whole electorate: 3, 4, 5, 6 00:00 +15 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: 2-2-1 has no majority; original destination tie round still applies 00:00 +16 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: 2-2-1 has no agency majority; all-voted close/finalize remains 00:00 +17 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: recorded agency winner is immutable and later votes are rejected 00:00 +18 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/absolute_majority_test.dart: destination majority ignores departed voters and duplicate rows 00:00 +19 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart: group reset endpoint remains admin-only and development-gated 00:00 +20 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart: group management routes are admin-authorized 00:00 +21 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart: force reset is server-gated and requires a proven test group 00:00 +22 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart: reset action is no longer rendered in user detail page 00:00 +23 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart: reset lifecycle only removes membership and matched preference state 00:00 +24 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/admin_user_management_migration_test.dart: admin user management migration is additive and auditable 00:00 +25 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: registration creates a pending agency and keeps license private 00:00 +26 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: registration accepts a valid PNG license upload 00:00 +27 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: registration accepts a valid JPG license upload 00:00 +28 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: pending agency can login but cannot access marketplace or submit bid 00:00 +29 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: admin approval enables the same agency session and lead filters 00:00 +30 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: approved agency submits a PDF bid and User offer mapping preserves it 00:00 +31 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: another agency cannot update or cancel an owned bid 00:00 +32 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: agency can list and read only its own bid history 00:00 +33 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: missing token is 401 and suspended agency loses access immediately 00:00 +34 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: dissolved group bids remain history-only and cannot be active 00:00 +35 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: an open group keeps a submitted bid in the current list 00:00 +36 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: completed trip moves a still-submitted bid to history 00:00 +37 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: a genuinely cancelled bid stays labelled cancelled 00:00 +38 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: private upload validates magic bytes and strips traversal from metadata 00:00 +39 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart: admin can reject an agency and logout revokes the token 00:00 +40 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_admin_migration_test.dart: Agency/Admin migration is additive and contains required invariants 00:01 +41 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_lead_detail_connection_test.dart: lead detail awaits summary before closing connection (poll=true) 00:01 +42 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_lead_detail_connection_test.dart: lead detail awaits summary before closing connection (poll=false) 00:01 +43 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_profile_contract_test.dart: agency profile supports approved bids before finalized voting 00:01 +44 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/agency_profile_contract_test.dart: agency rating summary is company-only and backed by completed paid trips 00:01 +45 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_polls_migration_test.dart: destination poll migration is additive, scoped, and deduplicated 00:01 +46 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_agency_privacy_test.dart: Agency receives poll aggregates but not member-level poll choices 00:01 +47 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart: DestinationPollCatalogPolicy normalizes display country names to existing catalog labels 00:01 +48 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart: DestinationPollCatalogPolicy Japanese legacy package rows seed city and city-bound place polls 00:01 +49 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart: DestinationPollCatalogPolicy recognizes China aliases and builds two stages from fixture rows 00:02 +50 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_china_migration_test.dart: China poll catalog migration is idempotent and not business data 00:02 +51 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_china_migration_test.dart: China poll catalog rollback is scoped only to its seed rows 00:02 +52 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_contract_test.dart: destination poll API is membership-scoped and supports safe replacement 00:02 +53 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_contract_test.dart: matching alternative acceptance keeps original destination history 00:02 +54 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_image_attribution_test.dart: all eight poll image files have a source and license attribution 00:02 +55 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: a new round uses the 24 hour server policy by default 00:02 +56 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: one of three remains open before the deadline 00:02 +57 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: all eligible members voting closes a city poll before deadline 00:02 +58 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: deadline closes with a strict majority, including at exact deadline 00:02 +59 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: deadline below strict majority waits and does not declare a winner 00:02 +60 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: half is not a strict majority but three of four is 00:02 +61 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: city tie opens no winner and lists only tied options for next round 00:02 +62 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: place poll uses the same quorum but finalizes as a ranked result 00:02 +63 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: expired zero-vote poll waits and zero eligible members do not close 00:02 +64 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: departed member votes are excluded from current round participation 00:02 +65 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: duplicate vote rows count each active user once per option 00:02 +66 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: API state changes are transactional and round finalization is idempotent 00:02 +67 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: poll lifecycle migration is additive and idempotent 00:02 +68 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart: Agency receives aggregates through latest rounds, never voter rows 00:02 +69 ~14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/destination_poll_vote_database_test.dart: vote persists through the real service path and commits its transaction Skip: Set TRAVELIN_POLL_TEST_DB_* to an isolated, empty poll test schema. 00:02 +69 ~15: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/development_account_policy_test.dart: realistic development accounts are allowlisted by server identity 00:02 +70 ~15: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/group_reset_policy_test.dart: safe automatic group can be reset in development 00:02 +71 ~15: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/group_reset_policy_test.dart: finalized voting, payment, documents, and journey block reset 00:02 +72 ~15: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/group_reset_policy_test.dart: preparing journey does not block reset 00:03 +73 ~15: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/journey_safety_migration_test.dart: journey safety migration is additive and lifecycle is monotonic 00:03 +74 ~15: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/matching_v2_migration_test.dart: matching V2 migration is additive and backfills legacy destinations 00:03 +75 ~15: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart: default waiting window is one minute 00:03 +75 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart: default waiting window is one minute [E] Expected: DateTime:<2026-01-01 10:01:00.000> Actual: DateTime:<2026-01-01 10:05:00.000> package:matcher expect package:flutter_test/src/widget_tester.dart 473:18 expect test\server\matching_waiting_policy_test.dart 10:5 main. 00:03 +75 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart: migration is additive and idempotent by construction 00:03 +76 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart: matching API exposes continue-waiting without a client user id 00:03 +77 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/mysql_agency_bid_lifecycle_test.dart: MySQL bid mapping derives completed status from trip lifecycle 00:03 +78 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/notification_migration_test.dart: notification migration is additive and prevents duplicate events 00:04 +79 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: persisted payment verification state paid row with matching persisted SlipOK evidence is verified 00:04 +80 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: persisted payment verification state receiver value may be absent because provider verification is saved 00:04 +81 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: persisted payment verification state does not call a paid row verified when success evidence is incomplete 00:04 +82 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts paid status endpoint only reads the existing user/bid payment 00:04 +83 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts verify endpoint short-circuits a paid row before provider call 00:04 +84 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts same evidence hash remains globally rejected for a different payment 00:04 +85 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts same transaction reference remains globally rejected 00:04 +86 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts existing payment row is not duplicated by status readback 00:04 +87 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: PromptPay QR payload normalizes Thai mobile ID and binds the exact amount 00:04 +88 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: PromptPay QR payload supports national ID and e-wallet PromptPay identifiers 00:04 +89 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: PromptPay QR payload rejects unsupported identifiers and fractional satang precision 00:04 +90 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: payment presentation configuration live config exposes a dynamic amount QR only with SlipOK configured 00:04 +91 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: payment presentation configuration missing provider or mismatched receiver fails closed 00:04 +92 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: payment presentation configuration demo UI requires explicit development mode and demo verifier 00:04 +93 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: example contains only empty local payment configuration variables 00:04 +94 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: secrets load only inside backend child with delayed expansion disabled 00:04 +95 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: API verification uses persisted payment amount and stale evidence guard 00:04 +96 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: new payment uses the winning bid and existing stored amounts are preserved 00:04 +97 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: payment test amount configuration no longer affects runtime 00:04 +98 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: live payment mode cannot be overridden to Demo verifier 00:04 +99 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_smoke_file_test.dart: provider diagnostic extracts only numeric code from synthetic response 00:04 +100 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_smoke_file_test.dart: malformed provider diagnostic never leaks a parsing error 00:04 +101 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_smoke_file_test.dart: single image inside a folder resolves without network or copying 00:04 +102 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_smoke_file_test.dart: missing or ambiguous folder never selects a slip arbitrarily 00:04 +103 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: quota GET preserves branch as one segment and never targets slip endpoint (123) 00:04 +104 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: quota GET preserves branch as one segment and never targets slip endpoint (fixture-branch_abc) 00:04 +105 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: full URL in branch config is rejected before authenticated request 00:04 +106 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: quota rejection retains only safe HTTP status and numeric provider code 00:04 +107 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: branch accepts safe opaque IDs and rejects path/control characters 00:04 +108 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: simultaneous payment retries invoke verification once and release gate 00:04 +109 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: failed verification releases gate for safe retry 00:04 +110 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: valid multipart uses backend amount, log and private HTTPS header Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:04 +111 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: successful provider response with wrong amount still fails locally Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:04 +112 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1012 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1012 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +113 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1013 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1013 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +114 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1014 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1014 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +115 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1005 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1005 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +116 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1006 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1006 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +117 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1007 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1007 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +118 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1008 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1008 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +119 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1011 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1011 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +120 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1001 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1001 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +121 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1002 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1002 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +122 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1003 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1003 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +123 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1004 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1004 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +124 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1009 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1009 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +125 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1010 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1010 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +126 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: HTTP 429 is retryable infrastructure failure Shell: [SlipOK] status=429 code=1011 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +127 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: HTTP 503 is retryable infrastructure failure Shell: [SlipOK] status=503 code=1011 rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:04 +128 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: network errors redact transport details 00:04 +129 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: timeout remains retryable 00:04 +130 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: missing configuration never sends request 00:04 +131 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_migration_test.dart: slip verification migration is additive and prevents reuse 00:04 +132 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: invalid and oversized files never reach provider 00:05 +133 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider success accepts missing optional receiver display metadata Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=false 00:05 +134 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) bank: branch verification is independent of display value Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +135 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: valid payment verification checks all required fields Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=false hasReceiverProxy=true hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +136 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: valid payment verification checks all required fields Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +137 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: valid payment verification checks all required fields Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=true hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +138 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: valid payment verification checks all required fields Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=true hasReceiverName=true hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +139 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) receiver object alone is audit metadata after provider success 00:05 +140 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: wrong amount fails with a readable reason 00:05 +141 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 400/code 1012 remains a provider rejection Shell: [SlipOK] status=400 code=1012 rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +142 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: wrong receiver fails verification 00:05 +143 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: wrong receiver fails verification Shell: [SlipOK] status=400 code=1013 rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +144 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 400/code 1014 remains a provider rejection Shell: [SlipOK] status=400 code=1014 rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +145 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 400/code 1014 remains a provider rejection 00:05 +146 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: provider unavailable propagates a safe backend error Shell: [SlipOK] status=200 code=none rootSuccess=false dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +147 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: provider unavailable propagates a safe backend error Shell: [SlipOK] status=200 code=none rootSuccess=false dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +148 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 200 with root.success=null is not provider proof 00:05 +149 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 200 with root.success=true is not provider proof Shell: [SlipOK] status=200 code=none rootSuccess=false dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +150 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) data.success=null is not provider proof Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=false receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +151 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) data.success=true is not provider proof Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=false receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +152 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) blank transaction reference is rejected after provider success Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=true receivingBankPresent=true 00:05 +153 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) 1012 overrides even HTTP 200 and populated success response Shell: [SlipOK] status=200 code=1012 rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +154 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) 1014 overrides even success flags and populated receiver Shell: [SlipOK] status=400 code=1014 rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +155 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) data.success false never proves receiver verification Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=false receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +156 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) provider receiver proof does not bypass required amount Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=false receivingBankPresent=true 00:05 +157 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) provider receiver proof does not bypass required transRef Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=true receivingBankPresent=true 00:05 +158 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) provider receiver proof does not bypass required transTimestamp Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:05 +159 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 200 with missing transRef cannot finalize verification Shell: [SlipOK] status=200 code=none rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=true receivingBankPresent=true 00:05 +160 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: quota uses authenticated fixed HTTPS endpoint without redirects 00:05 +161 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: factory configured SlipOK overrides demo and partial config fails closed 00:05 +162 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/travel_documents_migration_test.dart: travel document migration is additive, private and idempotent 00:05 +163 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/travel_document_upload_test.dart: private document validator accepts PNG JPG and PDF signatures 00:05 +164 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/travel_document_upload_test.dart: private document validator strips traversal and rejects disguised files 00:05 +165 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/travel_document_upload_test.dart: private document validator rejects oversized uploads 00:05 +166 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/trip_hub_migration_test.dart: Trip Hub migration is additive, private and idempotent 00:05 +167 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_migration_test.dart: Voting lifecycle migration is additive and enforces one round per group 00:06 +168 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: three group members each have one vote 00:06 +169 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: a member can change a vote before the deadline 00:06 +170 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: a vote at or after the deadline is rejected 00:06 +171 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: a non-member vote is rejected 00:06 +172 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: one of three votes before the deadline keeps the round open 00:06 +173 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: two of three votes before the deadline keeps the round open 00:06 +174 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: all eligible members voting closes the round before the deadline 00:06 +175 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: an expired deadline closes even when one member voted 00:06 +176 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: zero votes at an expired deadline still closes for existing no-vote policy 00:06 +177 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: the candidate with the highest vote count wins 00:06 +178 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: ties use lower price, then earlier submission, then bid id 00:06 +179 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: finalize is idempotent and preserves the recorded winner 00:06 +180 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/voting_policy_test.dart: payment is allowed only for the finalized winning bid 00:06 +181 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/absolute_majority_vote_test.dart: city second of three votes displays winner and disables city voting immediately 00:07 +182 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: group chat exposes poll entry and opens it for current group 00:07 +183 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: group chat exposes poll entry and opens it for current group 00:08 +184 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: returning from poll refreshes chat summary and keeps manual refresh 00:08 +185 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: group chat keeps finalized place poll aggregate visible 00:08 +186 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: poll page keeps region-first order and refreshes vote results 00:08 +187 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: Japan package-catalog fixture votes city then city places 00:09 +188 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: member city choice cannot unlock group place poll 00:09 +189 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: final group city controls place options regardless of own vote 00:09 +190 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: destination poll image assets are bundled and readable 00:09 +191 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: poll UI shows tie history and finalized place rankings 00:09 +192 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: expired below-quorum poll is visibly waiting, not finalized 00:09 +193 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: poll API scopes read request to requested group 00:09 +194 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart: authenticated non-member receives the server 403 message 00:09 +195 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: ปุ่มค้นหาตรงกลางหน้าแรกเปิดหน้าค้นหาด้วย AI ได้ 00:11 +196 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: หน้าหลักและรายละเอียดอ้างอิงจำนวนสมาชิกล่าสุดจากกลุ่มเดียวกัน 00:11 +197 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: โปรไฟล์มือถือแก้ข้อมูลส่วนตัวและความสนใจได้ 00:11 +198 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: เลือกเชียงใหม่แล้วรายละเอียดเป็นข้อมูลเชียงใหม่ 00:12 +199 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: ผู้เยี่ยมชมเปิดโปรไฟล์โดยตรงแล้วถูกพาไปเข้าสู่ระบบ 00:13 +200 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: หน้าโหวตไม่แสดงข้อมูลให้ผู้ที่ไม่มีเซสชัน 00:13 +201 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: บันทึกคะแนนแล้วยังไม่ประกาศผู้ชนะก่อน finalize 00:13 +202 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: ปิดโหวตแล้ว finalize จึงแสดง winner และปุ่ม Payment 00:13 +203 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: หน้าชำระเงินไม่รับข้อเสนอที่ยังไม่ถูกเลือก 00:13 +204 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: พร้อมเพย์แสดง QR สาธิตและซ่อนเมื่อเลือกโอนธนาคาร 00:14 +205 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: ส่งสลิปแล้วแสดงกำลังตรวจสอบก่อนผลสำเร็จจาก backend 00:15 +206 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: Live Payment แสดงเฉพาะ QR จริงจาก Backend ไม่แสดง DEMO 00:15 +207 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: Payment ที่ config ไม่พร้อมไม่แสดง QR หรือปุ่มส่งหลักฐาน 00:16 +208 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: ฟอร์ม AI บนมือถือมีข้อมูลครบและไม่เกิด overflow 00:16 +209 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: Guest ใช้ฟอร์มเดียวกัน ข้อมูลคงอยู่ และไม่เข้า matching pool 00:17 +210 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: สมาชิกส่ง preference จาก controls เข้า automated matching 00:17 +211 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: แท็บข้อความโหลดห้องของกลุ่มที่ผู้ใช้เข้าร่วมด้วย groupId 00:18 +212 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: ออกจากกลุ่มได้โดยตรงจากหน้าข้อความ 00:18 +213 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: แชตแสดงสถานะชำระ นัดหมาย และให้คะแนนหลังจบทริปได้ 00:18 +214 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: แผ่นให้คะแนนจัดวางได้บนจอเล็กและปิดได้ 00:18 +215 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: ช่องความคิดเห็นและปุ่มส่งคะแนนเลื่อนได้เมื่อเปิดคีย์บอร์ด 00:18 +216 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: ครบเวลานับถอยหลังแล้วระบบยุบกลุ่มและปลดสมาชิก 00:18 +217 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: สมาชิกยืนยันออกจากกลุ่มแล้วสถานะในแอปถูกล้าง 00:19 +218 ~15 -1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/widget_test.dart: กลุ่มที่สมาชิกเต็มแสดงสถานะเต็มและปิดปุ่มเข้าร่วม 00:20 +219 ~15 -1: Some tests failed.