{"protocolVersion":"0.1.1","runnerVersion":null,"pid":10796,"type":"start","time":0}
{"suite":{"id":0,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/agency_profile_page_test.dart"},"type":"suite","time":0}
{"test":{"id":1,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/agency_profile_page_test.dart","suiteID":0,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":2}
{"suite":{"id":2,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/ai_match_service_test.dart"},"type":"suite","time":10}
{"test":{"id":3,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/ai_match_service_test.dart","suiteID":2,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":10}
{"suite":{"id":4,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/database_trip_service_test.dart"},"type":"suite","time":11}
{"test":{"id":5,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/database_trip_service_test.dart","suiteID":4,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":11}
{"suite":{"id":6,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"suite","time":12}
{"test":{"id":7,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart","suiteID":6,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":12}
{"count":44,"time":16,"type":"allSuites"}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":1,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":3514}
{"group":{"id":8,"suiteID":0,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":null,"column":null,"url":null},"type":"group","time":3521}
{"test":{"id":9,"name":"แสดง aggregate คะแนนของบริษัทโดยไม่เปิดเผยข้อความลูกค้า","suiteID":0,"groupIDs":[8],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":10,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/agency_profile_page_test.dart"},"type":"testStart","time":3522}
{"testID":3,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":3755}
{"group":{"id":10,"suiteID":2,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":6,"line":null,"column":null,"url":null},"type":"group","time":3756}
{"test":{"id":11,"name":"แยกญี่ปุ่น งบ และความสนใจจากภาษาธรรมชาติได้","suiteID":2,"groupIDs":[10],"metadata":{"skip":false,"skipReason":null},"line":7,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/ai_match_service_test.dart"},"type":"testStart","time":3756}
{"testID":11,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":3841}
{"test":{"id":12,"name":"ค้นทะเลในไทยแล้วกลุ่มภูเก็ตอยู่ลำดับแรก","suiteID":2,"groupIDs":[10],"metadata":{"skip":false,"skipReason":null},"line":18,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/ai_match_service_test.dart"},"type":"testStart","time":3842}
{"testID":12,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":3864}
{"test":{"id":13,"name":"ระบุประเทศไทยแล้วไม่แสดงกลุ่มของประเทศอื่น","suiteID":2,"groupIDs":[10],"metadata":{"skip":false,"skipReason":null},"line":30,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/ai_match_service_test.dart"},"type":"testStart","time":3864}
{"testID":13,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":3877}
{"test":{"id":14,"name":"ระบุประเทศและงบแล้วกรองเฉพาะผลลัพธ์ที่ตรงทั้งหมด","suiteID":2,"groupIDs":[10],"metadata":{"skip":false,"skipReason":null},"line":41,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/ai_match_service_test.dart"},"type":"testStart","time":3878}
{"testID":14,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":3887}
{"test":{"id":15,"name":"ตัวกรองที่เลือกทำงานร่วมกับข้อความได้","suiteID":2,"groupIDs":[10],"metadata":{"skip":false,"skipReason":null},"line":56,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/ai_match_service_test.dart"},"type":"testStart","time":3888}
{"testID":15,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":3898}
{"test":{"id":16,"name":"คำถามนอกเรื่องไม่ถูกจับคู่กับสถานที่ท่องเที่ยว","suiteID":2,"groupIDs":[10],"metadata":{"skip":false,"skipReason":null},"line":75,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/ai_match_service_test.dart"},"type":"testStart","time":3898}
{"testID":16,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":3906}
{"suite":{"id":17,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"suite","time":3959}
{"test":{"id":18,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart","suiteID":17,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":3959}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":5,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":4268}
{"group":{"id":19,"suiteID":4,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":4269}
{"test":{"id":20,"name":"อ่านสถานะกลุ่มเต็มจากฐานข้อมูลและคำนวณ isFull ได้","suiteID":4,"groupIDs":[19],"metadata":{"skip":false,"skipReason":null},"line":10,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/database_trip_service_test.dart"},"type":"testStart","time":4269}
{"testID":20,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":4359}
{"suite":{"id":21,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/notification_service_test.dart"},"type":"suite","time":4392}
{"test":{"id":22,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/notification_service_test.dart","suiteID":21,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":4393}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":7,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":4929}
{"group":{"id":23,"suiteID":6,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":8,"line":null,"column":null,"url":null},"type":"group","time":4929}
{"test":{"id":24,"name":"เข้าร่วมกลุ่มส่ง token และอ่านข้อมูลกลุ่มจาก API ได้","suiteID":6,"groupIDs":[23],"metadata":{"skip":false,"skipReason":null},"line":10,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"testStart","time":4930}
{"testID":24,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5033}
{"test":{"id":25,"name":"ออกจากกลุ่มส่ง token ไปยัง API ที่ถูกต้อง","suiteID":6,"groupIDs":[23],"metadata":{"skip":false,"skipReason":null},"line":45,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"testStart","time":5035}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":25,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5067}
{"test":{"id":26,"name":"อ่านข้อเสนอจริงและสถานะผู้ลงคะแนนได้","suiteID":6,"groupIDs":[23],"metadata":{"skip":false,"skipReason":null},"line":62,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"testStart","time":5068}
{"testID":26,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5106}
{"test":{"id":27,"name":"สรุปผลโหวตเรียก finalize endpoint และคืน winning bid","suiteID":6,"groupIDs":[23],"metadata":{"skip":false,"skipReason":null},"line":113,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"testStart","time":5106}
{"testID":27,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5120}
{"test":{"id":28,"name":"API ปฏิเสธสิทธิ์แล้วส่งข้อความที่อ่านเข้าใจได้ให้แอป","suiteID":6,"groupIDs":[23],"metadata":{"skip":false,"skipReason":null},"line":136,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"testStart","time":5120}
{"testID":28,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5146}
{"test":{"id":29,"name":"ยังไม่ชำระเงิน API ต้องคืนค่า null ไม่ใช่ข้อมูลจำลอง","suiteID":6,"groupIDs":[23],"metadata":{"skip":false,"skipReason":null},"line":158,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"testStart","time":5147}
{"testID":29,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5157}
{"test":{"id":30,"name":"ตรวจหลักฐานแล้วอ่านสถานะชำระเงินสำเร็จได้","suiteID":6,"groupIDs":[23],"metadata":{"skip":false,"skipReason":null},"line":169,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"testStart","time":5158}
{"testID":30,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5175}
{"test":{"id":31,"name":"อ่านสถานะนัดหมายและคะแนนหลังเดินทางจาก API ได้","suiteID":6,"groupIDs":[23],"metadata":{"skip":false,"skipReason":null},"line":198,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/group_service_test.dart"},"type":"testStart","time":5176}
{"testID":31,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5194}
{"suite":{"id":32,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart"},"type":"suite","time":5235}
{"test":{"id":33,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart","suiteID":32,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":5235}
{"testID":9,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5395}
{"test":{"id":34,"name":"แสดง empty state เมื่อยังไม่มีคะแนนที่ตรวจสอบได้","suiteID":0,"groupIDs":[8],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":47,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/agency_profile_page_test.dart"},"type":"testStart","time":5396}
{"testID":18,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":5469}
{"group":{"id":35,"suiteID":17,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":13,"line":null,"column":null,"url":null},"type":"group","time":5470}
{"group":{"id":36,"suiteID":17,"parentID":35,"name":"destination hard constraint","metadata":{"skip":false,"skipReason":null},"testCount":2,"line":26,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"group","time":5471}
{"test":{"id":37,"name":"destination hard constraint aliases of the same destination are candidates","suiteID":17,"groupIDs":[35,36],"metadata":{"skip":false,"skipReason":null},"line":27,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5472}
{"testID":37,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5534}
{"test":{"id":38,"name":"destination hard constraint different destinations are rejected before scoring","suiteID":17,"groupIDs":[35,36],"metadata":{"skip":false,"skipReason":null},"line":40,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5535}
{"testID":38,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5546}
{"group":{"id":39,"suiteID":17,"parentID":35,"name":"dimension scores","metadata":{"skip":false,"skipReason":null},"testCount":4,"line":50,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"group","time":5546}
{"test":{"id":40,"name":"dimension scores budget score is smooth and guards invalid budgets","suiteID":17,"groupIDs":[35,39],"metadata":{"skip":false,"skipReason":null},"line":51,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5547}
{"testID":40,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5558}
{"test":{"id":41,"name":"dimension scores budget gate rejects differences above 20 percent","suiteID":17,"groupIDs":[35,39],"metadata":{"skip":false,"skipReason":null},"line":60,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5558}
{"testID":41,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5580}
{"test":{"id":42,"name":"dimension scores period gives full, adjacent, and no credit deterministically","suiteID":17,"groupIDs":[35,39],"metadata":{"skip":false,"skipReason":null},"line":79,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5582}
{"testID":34,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5584}
{"test":{"id":43,"name":"แสดงข้อผิดพลาดและ retry โหลดข้อมูลบริษัทได้","suiteID":0,"groupIDs":[8],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":66,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/agency_profile_page_test.dart"},"type":"testStart","time":5586}
{"testID":42,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5591}
{"test":{"id":44,"name":"dimension scores interests use Jaccard similarity","suiteID":17,"groupIDs":[35,39],"metadata":{"skip":false,"skipReason":null},"line":86,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5593}
{"testID":44,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5605}
{"group":{"id":45,"suiteID":17,"parentID":35,"name":"automatic cluster planner","metadata":{"skip":false,"skipReason":null},"testCount":4,"line":95,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"group","time":5606}
{"test":{"id":46,"name":"automatic cluster planner mandatory Japan scenario creates one group and excludes Korea","suiteID":17,"groupIDs":[35,45],"metadata":{"skip":false,"skipReason":null},"line":96,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5607}
{"testID":46,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5631}
{"test":{"id":47,"name":"automatic cluster planner one or two compatible users remain waiting","suiteID":17,"groupIDs":[35,45],"metadata":{"skip":false,"skipReason":null},"line":129,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5631}
{"testID":47,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5639}
{"test":{"id":48,"name":"automatic cluster planner group never exceeds central maximum size","suiteID":17,"groupIDs":[35,45],"metadata":{"skip":false,"skipReason":null},"line":137,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5640}
{"testID":48,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5653}
{"test":{"id":49,"name":"automatic cluster planner duplicate user cannot be assigned twice","suiteID":17,"groupIDs":[35,45],"metadata":{"skip":false,"skipReason":null},"line":152,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5654}
{"testID":49,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5664}
{"group":{"id":50,"suiteID":17,"parentID":35,"name":"matching V2 destination detail and explainability","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":164,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"group","time":5664}
{"test":{"id":51,"name":"matching V2 destination detail and explainability unspecified city is flexible within the same country","suiteID":17,"groupIDs":[35,50],"metadata":{"skip":false,"skipReason":null},"line":165,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5665}
{"testID":51,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5672}
{"test":{"id":52,"name":"matching V2 destination detail and explainability two conflicting strict cities are not compatible","suiteID":17,"groupIDs":[35,50],"metadata":{"skip":false,"skipReason":null},"line":183,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5672}
{"testID":52,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5680}
{"test":{"id":53,"name":"matching V2 destination detail and explainability score breakdown exposes weighted points","suiteID":17,"groupIDs":[35,50],"metadata":{"skip":false,"skipReason":null},"line":203,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/matching/matching_engine_test.dart"},"type":"testStart","time":5681}
{"testID":53,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5689}
{"suite":{"id":54,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_user_management_migration_test.dart"},"type":"suite","time":5732}
{"test":{"id":55,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_user_management_migration_test.dart","suiteID":54,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":5733}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":22,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":5977}
{"group":{"id":56,"suiteID":21,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":null,"column":null,"url":null},"type":"group","time":5979}
{"test":{"id":57,"name":"lists notifications and maps unread count","suiteID":21,"groupIDs":[56],"metadata":{"skip":false,"skipReason":null},"line":9,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/notification_service_test.dart"},"type":"testStart","time":5979}
{"testID":43,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":5984}
{"suite":{"id":58,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"suite","time":6048}
{"test":{"id":59,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart","suiteID":58,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":6048}
{"testID":57,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":6144}
{"test":{"id":60,"name":"mark read and mark all read keep server unread count","suiteID":21,"groupIDs":[56],"metadata":{"skip":false,"skipReason":null},"line":48,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/notification_service_test.dart"},"type":"testStart","time":6145}
{"testID":60,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":6164}
{"test":{"id":61,"name":"unauthorized notification access exposes the server status","suiteID":21,"groupIDs":[56],"metadata":{"skip":false,"skipReason":null},"line":63,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/notification_service_test.dart"},"type":"testStart","time":6165}
{"testID":61,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":6195}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"suite":{"id":62,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_migration_test.dart"},"type":"suite","time":6234}
{"test":{"id":63,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_migration_test.dart","suiteID":62,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":6234}
{"testID":33,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":6628}
{"group":{"id":64,"suiteID":32,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":5,"line":null,"column":null,"url":null},"type":"group","time":6629}
{"test":{"id":65,"name":"group reset endpoint remains admin-only and development-gated","suiteID":32,"groupIDs":[64],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart"},"type":"testStart","time":6629}
{"testID":65,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":6711}
{"test":{"id":66,"name":"group management routes are admin-authorized","suiteID":32,"groupIDs":[64],"metadata":{"skip":false,"skipReason":null},"line":14,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart"},"type":"testStart","time":6712}
{"testID":66,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":6739}
{"test":{"id":67,"name":"force reset is server-gated and requires a proven test group","suiteID":32,"groupIDs":[64],"metadata":{"skip":false,"skipReason":null},"line":25,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart"},"type":"testStart","time":6740}
{"testID":67,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":6782}
{"test":{"id":68,"name":"reset action is no longer rendered in user detail page","suiteID":32,"groupIDs":[64],"metadata":{"skip":false,"skipReason":null},"line":42,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart"},"type":"testStart","time":6783}
{"testID":68,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":6790}
{"test":{"id":69,"name":"reset lifecycle only removes membership and matched preference state","suiteID":32,"groupIDs":[64],"metadata":{"skip":false,"skipReason":null},"line":48,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_group_reset_contract_test.dart"},"type":"testStart","time":6791}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":69,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":6810}
{"suite":{"id":70,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_lead_detail_connection_test.dart"},"type":"suite","time":6848}
{"test":{"id":71,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_lead_detail_connection_test.dart","suiteID":70,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":6849}
{"testID":55,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":7047}
{"group":{"id":72,"suiteID":54,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":7048}
{"test":{"id":73,"name":"admin user management migration is additive and auditable","suiteID":54,"groupIDs":[72],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/admin_user_management_migration_test.dart"},"type":"testStart","time":7048}
{"testID":73,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7119}
{"suite":{"id":74,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_profile_contract_test.dart"},"type":"suite","time":7156}
{"test":{"id":75,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_profile_contract_test.dart","suiteID":74,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":7156}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":59,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":7625}
{"group":{"id":76,"suiteID":58,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":15,"line":null,"column":null,"url":null},"type":"group","time":7626}
{"test":{"id":77,"name":"registration creates a pending agency and keeps license private","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":109,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7626}
{"testID":77,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7712}
{"test":{"id":78,"name":"registration accepts a valid PNG license upload","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":129,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7713}
{"testID":78,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7722}
{"test":{"id":79,"name":"registration accepts a valid JPG license upload","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":155,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7723}
{"testID":79,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7731}
{"test":{"id":80,"name":"pending agency can login but cannot access marketplace or submit bid","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":172,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7732}
{"testID":80,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7767}
{"test":{"id":81,"name":"admin approval enables the same agency session and lead filters","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":208,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7768}
{"testID":81,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7799}
{"test":{"id":82,"name":"approved agency submits a PDF bid and User offer mapping preserves it","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":273,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7800}
{"testID":82,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7820}
{"test":{"id":83,"name":"another agency cannot update or cancel an owned bid","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":311,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7822}
{"testID":83,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7838}
{"test":{"id":84,"name":"agency can list and read only its own bid history","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":361,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7839}
{"testID":84,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7858}
{"test":{"id":85,"name":"missing token is 401 and suspended agency loses access immediately","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":424,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7862}
{"testID":85,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7874}
{"test":{"id":86,"name":"dissolved group bids remain history-only and cannot be active","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":460,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7875}
{"testID":86,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7885}
{"test":{"id":87,"name":"an open group keeps a submitted bid in the current list","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":501,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7886}
{"testID":87,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7897}
{"test":{"id":88,"name":"completed trip moves a still-submitted bid to history","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":532,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7897}
{"testID":88,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7911}
{"test":{"id":89,"name":"a genuinely cancelled bid stays labelled cancelled","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":573,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7912}
{"testID":89,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7922}
{"test":{"id":90,"name":"private upload validates magic bytes and strips traversal from metadata","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":610,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7922}
{"testID":90,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7933}
{"test":{"id":91,"name":"admin can reject an agency and logout revokes the token","suiteID":58,"groupIDs":[76],"metadata":{"skip":false,"skipReason":null},"line":639,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_api_test.dart"},"type":"testStart","time":7934}
{"testID":91,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":7944}
{"testID":63,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":7968}
{"group":{"id":92,"suiteID":62,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":7969}
{"test":{"id":93,"name":"Agency/Admin migration is additive and contains required invariants","suiteID":62,"groupIDs":[92],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_admin_migration_test.dart"},"type":"testStart","time":7970}
{"suite":{"id":94,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_polls_migration_test.dart"},"type":"suite","time":7994}
{"test":{"id":95,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_polls_migration_test.dart","suiteID":94,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":7995}
{"testID":93,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":8042}
{"suite":{"id":96,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_agency_privacy_test.dart"},"type":"suite","time":8081}
{"test":{"id":97,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_agency_privacy_test.dart","suiteID":96,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":8081}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":71,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":8462}
{"group":{"id":98,"suiteID":70,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":2,"line":null,"column":null,"url":null},"type":"group","time":8463}
{"test":{"id":99,"name":"lead detail awaits summary before closing connection (poll=true)","suiteID":70,"groupIDs":[98],"metadata":{"skip":false,"skipReason":null},"line":9,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_lead_detail_connection_test.dart"},"type":"testStart","time":8463}
{"testID":99,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":8552}
{"test":{"id":100,"name":"lead detail awaits summary before closing connection (poll=false)","suiteID":70,"groupIDs":[98],"metadata":{"skip":false,"skipReason":null},"line":9,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_lead_detail_connection_test.dart"},"type":"testStart","time":8554}
{"testID":100,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":8567}
{"suite":{"id":101,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart"},"type":"suite","time":8603}
{"test":{"id":102,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart","suiteID":101,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":8604}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":75,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":8918}
{"group":{"id":103,"suiteID":74,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":2,"line":null,"column":null,"url":null},"type":"group","time":8919}
{"test":{"id":104,"name":"agency profile supports approved bids before finalized voting","suiteID":74,"groupIDs":[103],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_profile_contract_test.dart"},"type":"testStart","time":8919}
{"testID":104,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":9005}
{"test":{"id":105,"name":"agency rating summary is company-only and backed by completed paid trips","suiteID":74,"groupIDs":[103],"metadata":{"skip":false,"skipReason":null},"line":20,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/agency_profile_contract_test.dart"},"type":"testStart","time":9005}
{"testID":105,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":9032}
{"suite":{"id":106,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_china_migration_test.dart"},"type":"suite","time":9068}
{"test":{"id":107,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_china_migration_test.dart","suiteID":106,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":9068}
{"testID":95,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":9211}
{"group":{"id":108,"suiteID":94,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":9211}
{"test":{"id":109,"name":"destination poll migration is additive, scoped, and deduplicated","suiteID":94,"groupIDs":[108],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_polls_migration_test.dart"},"type":"testStart","time":9212}
{"testID":109,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":9274}
{"suite":{"id":110,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_contract_test.dart"},"type":"suite","time":9305}
{"test":{"id":111,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_contract_test.dart","suiteID":110,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":9305}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":97,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":9651}
{"group":{"id":112,"suiteID":96,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":9651}
{"test":{"id":113,"name":"Agency receives poll aggregates but not member-level poll choices","suiteID":96,"groupIDs":[112],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_agency_privacy_test.dart"},"type":"testStart","time":9652}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":113,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":9755}
{"suite":{"id":114,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_image_attribution_test.dart"},"type":"suite","time":9789}
{"test":{"id":115,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_image_attribution_test.dart","suiteID":114,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":9790}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":102,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":10175}
{"group":{"id":116,"suiteID":101,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":null,"column":null,"url":null},"type":"group","time":10176}
{"group":{"id":117,"suiteID":101,"parentID":116,"name":"DestinationPollCatalogPolicy","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart"},"type":"group","time":10176}
{"test":{"id":118,"name":"DestinationPollCatalogPolicy normalizes display country names to existing catalog labels","suiteID":101,"groupIDs":[116,117],"metadata":{"skip":false,"skipReason":null},"line":7,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart"},"type":"testStart","time":10176}
{"testID":118,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":10237}
{"test":{"id":119,"name":"DestinationPollCatalogPolicy Japanese legacy package rows seed city and city-bound place polls","suiteID":101,"groupIDs":[116,117],"metadata":{"skip":false,"skipReason":null},"line":45,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart"},"type":"testStart","time":10239}
{"testID":119,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":10248}
{"test":{"id":120,"name":"DestinationPollCatalogPolicy recognizes China aliases and builds two stages from fixture rows","suiteID":101,"groupIDs":[116,117],"metadata":{"skip":false,"skipReason":null},"line":91,"column":5,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_catalog_policy_test.dart"},"type":"testStart","time":10251}
{"testID":120,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":10260}
{"suite":{"id":121,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"suite","time":10294}
{"test":{"id":122,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart","suiteID":121,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":10294}
{"testID":107,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":10509}
{"group":{"id":123,"suiteID":106,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":2,"line":null,"column":null,"url":null},"type":"group","time":10510}
{"test":{"id":124,"name":"China poll catalog migration is idempotent and not business data","suiteID":106,"groupIDs":[123],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_china_migration_test.dart"},"type":"testStart","time":10511}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":124,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":10590}
{"test":{"id":125,"name":"China poll catalog rollback is scoped only to its seed rows","suiteID":106,"groupIDs":[123],"metadata":{"skip":false,"skipReason":null},"line":57,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_china_migration_test.dart"},"type":"testStart","time":10591}
{"testID":125,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":10601}
{"suite":{"id":126,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_vote_database_test.dart"},"type":"suite","time":10631}
{"test":{"id":127,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_vote_database_test.dart","suiteID":126,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":10631}
{"testID":111,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":10936}
{"group":{"id":128,"suiteID":110,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":2,"line":null,"column":null,"url":null},"type":"group","time":10936}
{"test":{"id":129,"name":"destination poll API is membership-scoped and supports safe replacement","suiteID":110,"groupIDs":[128],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_contract_test.dart"},"type":"testStart","time":10937}
{"testID":129,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":11021}
{"test":{"id":130,"name":"matching alternative acceptance keeps original destination history","suiteID":110,"groupIDs":[128],"metadata":{"skip":false,"skipReason":null},"line":28,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_contract_test.dart"},"type":"testStart","time":11022}
{"testID":130,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":11036}
{"suite":{"id":131,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/development_account_policy_test.dart"},"type":"suite","time":11068}
{"test":{"id":132,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/development_account_policy_test.dart","suiteID":131,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":11069}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":115,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":11361}
{"group":{"id":133,"suiteID":114,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":11362}
{"test":{"id":134,"name":"all eight poll image files have a source and license attribution","suiteID":114,"groupIDs":[133],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_image_attribution_test.dart"},"type":"testStart","time":11362}
{"testID":134,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":11444}
{"suite":{"id":135,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/group_reset_policy_test.dart"},"type":"suite","time":11476}
{"test":{"id":136,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/group_reset_policy_test.dart","suiteID":135,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":11477}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":122,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":11985}
{"group":{"id":137,"suiteID":121,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":14,"line":null,"column":null,"url":null},"type":"group","time":11986}
{"test":{"id":138,"name":"a new round uses the 24 hour server policy by default","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":7,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":11986}
{"testID":138,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12027}
{"test":{"id":139,"name":"one and two of three remain open before the deadline","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":14,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12029}
{"testID":139,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12040}
{"test":{"id":140,"name":"all eligible members voting closes a city poll before deadline","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":28,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12041}
{"testID":140,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12057}
{"test":{"id":141,"name":"deadline closes with a strict majority, including at exact deadline","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":41,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12059}
{"testID":141,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12068}
{"test":{"id":142,"name":"deadline below strict majority waits and does not declare a winner","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":57,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12069}
{"testID":142,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12077}
{"test":{"id":143,"name":"half is not a strict majority but three of four is","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":73,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12079}
{"testID":143,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12089}
{"test":{"id":144,"name":"city tie opens no winner and lists only tied options for next round","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":94,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12090}
{"testID":144,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12100}
{"test":{"id":145,"name":"place poll uses the same quorum but finalizes as a ranked result","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":111,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12100}
{"testID":145,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12106}
{"test":{"id":146,"name":"expired zero-vote poll waits and zero eligible members do not close","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":133,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12107}
{"testID":146,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12113}
{"test":{"id":147,"name":"departed member votes are excluded from current round participation","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":157,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12114}
{"testID":147,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12128}
{"test":{"id":148,"name":"duplicate vote rows count each active user once per option","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":185,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12129}
{"testID":148,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12135}
{"test":{"id":149,"name":"API state changes are transactional and round finalization is idempotent","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":204,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12136}
{"testID":149,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12171}
{"test":{"id":150,"name":"poll lifecycle migration is additive and idempotent","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":247,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12171}
{"testID":150,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12181}
{"test":{"id":151,"name":"Agency receives aggregates through latest rounds, never voter rows","suiteID":121,"groupIDs":[137],"metadata":{"skip":false,"skipReason":null},"line":269,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_policy_test.dart"},"type":"testStart","time":12181}
{"testID":151,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12196}
{"suite":{"id":152,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/journey_safety_migration_test.dart"},"type":"suite","time":12235}
{"test":{"id":153,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/journey_safety_migration_test.dart","suiteID":152,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":12235}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":127,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":12330}
{"group":{"id":154,"suiteID":126,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":12332}
{"test":{"id":155,"name":"vote persists through the real service path and commits its transaction","suiteID":126,"groupIDs":[154],"metadata":{"skip":true,"skipReason":"Set TRAVELIN_POLL_TEST_DB_* to an isolated, empty poll test schema."},"line":22,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/destination_poll_vote_database_test.dart"},"type":"testStart","time":12332}
{"testID":155,"messageType":"skip","message":"Skip: Set TRAVELIN_POLL_TEST_DB_* to an isolated, empty poll test schema.","type":"print","time":12334}
{"testID":155,"result":"success","skipped":true,"hidden":false,"type":"testDone","time":12334}
{"suite":{"id":156,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/matching_v2_migration_test.dart"},"type":"suite","time":12374}
{"test":{"id":157,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/matching_v2_migration_test.dart","suiteID":156,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":12374}
{"testID":132,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":12718}
{"group":{"id":158,"suiteID":131,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":12719}
{"test":{"id":159,"name":"realistic development accounts are allowlisted by server identity","suiteID":131,"groupIDs":[158],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/development_account_policy_test.dart"},"type":"testStart","time":12719}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":159,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":12799}
{"suite":{"id":160,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart"},"type":"suite","time":12839}
{"test":{"id":161,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart","suiteID":160,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":12839}
{"testID":136,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":13107}
{"group":{"id":162,"suiteID":135,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":null,"column":null,"url":null},"type":"group","time":13108}
{"test":{"id":163,"name":"safe automatic group can be reset in development","suiteID":135,"groupIDs":[162],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/group_reset_policy_test.dart"},"type":"testStart","time":13109}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":163,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":13171}
{"test":{"id":164,"name":"finalized voting, payment, documents, and journey block reset","suiteID":135,"groupIDs":[162],"metadata":{"skip":false,"skipReason":null},"line":18,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/group_reset_policy_test.dart"},"type":"testStart","time":13172}
{"testID":164,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":13200}
{"test":{"id":165,"name":"preparing journey does not block reset","suiteID":135,"groupIDs":[162],"metadata":{"skip":false,"skipReason":null},"line":32,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/group_reset_policy_test.dart"},"type":"testStart","time":13201}
{"testID":165,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":13212}
{"suite":{"id":166,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/mysql_agency_bid_lifecycle_test.dart"},"type":"suite","time":13249}
{"test":{"id":167,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/mysql_agency_bid_lifecycle_test.dart","suiteID":166,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":13249}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":153,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":13564}
{"group":{"id":168,"suiteID":152,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":13565}
{"test":{"id":169,"name":"journey safety migration is additive and lifecycle is monotonic","suiteID":152,"groupIDs":[168],"metadata":{"skip":false,"skipReason":null},"line":8,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/journey_safety_migration_test.dart"},"type":"testStart","time":13565}
{"testID":169,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":13628}
{"suite":{"id":170,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/notification_migration_test.dart"},"type":"suite","time":13674}
{"test":{"id":171,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/notification_migration_test.dart","suiteID":170,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":13674}
{"testID":157,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":13909}
{"group":{"id":172,"suiteID":156,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":13910}
{"test":{"id":173,"name":"matching V2 migration is additive and backfills legacy destinations","suiteID":156,"groupIDs":[172],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/matching_v2_migration_test.dart"},"type":"testStart","time":13910}
{"testID":173,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":13970}
{"suite":{"id":174,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_migration_test.dart"},"type":"suite","time":13999}
{"test":{"id":175,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_migration_test.dart","suiteID":174,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":13999}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":161,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":14356}
{"group":{"id":176,"suiteID":160,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":null,"column":null,"url":null},"type":"group","time":14356}
{"test":{"id":177,"name":"default waiting window is 24 hours","suiteID":160,"groupIDs":[176],"metadata":{"skip":false,"skipReason":null},"line":8,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart"},"type":"testStart","time":14356}
{"testID":177,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":14424}
{"test":{"id":178,"name":"migration is additive and idempotent by construction","suiteID":160,"groupIDs":[176],"metadata":{"skip":false,"skipReason":null},"line":16,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart"},"type":"testStart","time":14425}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":178,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":14456}
{"test":{"id":179,"name":"matching API exposes continue-waiting without a client user id","suiteID":160,"groupIDs":[176],"metadata":{"skip":false,"skipReason":null},"line":34,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/matching_waiting_policy_test.dart"},"type":"testStart","time":14469}
{"testID":179,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":14484}
{"suite":{"id":180,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart"},"type":"suite","time":14520}
{"test":{"id":181,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart","suiteID":180,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":14520}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":167,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":14901}
{"group":{"id":182,"suiteID":166,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":14902}
{"test":{"id":183,"name":"MySQL bid mapping derives completed status from trip lifecycle","suiteID":166,"groupIDs":[182],"metadata":{"skip":false,"skipReason":null},"line":7,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/mysql_agency_bid_lifecycle_test.dart"},"type":"testStart","time":14902}
{"testID":183,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":14980}
{"suite":{"id":184,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/travel_documents_migration_test.dart"},"type":"suite","time":15025}
{"test":{"id":185,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/travel_documents_migration_test.dart","suiteID":184,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":15026}
{"testID":171,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":15246}
{"group":{"id":186,"suiteID":170,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":15246}
{"test":{"id":187,"name":"notification migration is additive and prevents duplicate events","suiteID":170,"groupIDs":[186],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/notification_migration_test.dart"},"type":"testStart","time":15247}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":187,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":15321}
{"suite":{"id":188,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/travel_document_upload_test.dart"},"type":"suite","time":15354}
{"test":{"id":189,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/travel_document_upload_test.dart","suiteID":188,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":15355}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":175,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":15723}
{"group":{"id":190,"suiteID":174,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":15724}
{"test":{"id":191,"name":"slip verification migration is additive and prevents reuse","suiteID":174,"groupIDs":[190],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_migration_test.dart"},"type":"testStart","time":15725}
{"testID":191,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":15803}
{"suite":{"id":192,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/trip_hub_migration_test.dart"},"type":"suite","time":15843}
{"test":{"id":193,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/trip_hub_migration_test.dart","suiteID":192,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":15843}
{"testID":181,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":16107}
{"group":{"id":194,"suiteID":180,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":5,"line":null,"column":null,"url":null},"type":"group","time":16108}
{"test":{"id":195,"name":"valid payment verification checks all required fields","suiteID":180,"groupIDs":[194],"metadata":{"skip":false,"skipReason":null},"line":14,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart"},"type":"testStart","time":16108}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":195,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":16174}
{"test":{"id":196,"name":"wrong amount fails with a readable reason","suiteID":180,"groupIDs":[194],"metadata":{"skip":false,"skipReason":null},"line":30,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart"},"type":"testStart","time":16175}
{"testID":196,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":16195}
{"test":{"id":197,"name":"wrong receiver fails verification","suiteID":180,"groupIDs":[194],"metadata":{"skip":false,"skipReason":null},"line":36,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart"},"type":"testStart","time":16196}
{"testID":197,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":16205}
{"test":{"id":198,"name":"missing transaction reference and invalid date are rejected","suiteID":180,"groupIDs":[194],"metadata":{"skip":false,"skipReason":null},"line":45,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart"},"type":"testStart","time":16206}
{"testID":198,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":16218}
{"test":{"id":199,"name":"provider unavailable propagates a safe backend error","suiteID":180,"groupIDs":[194],"metadata":{"skip":false,"skipReason":null},"line":55,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart"},"type":"testStart","time":16220}
{"testID":199,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":16246}
{"suite":{"id":200,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_migration_test.dart"},"type":"suite","time":16278}
{"test":{"id":201,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_migration_test.dart","suiteID":200,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":16279}
{"testID":185,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":16527}
{"group":{"id":202,"suiteID":184,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":16528}
{"test":{"id":203,"name":"travel document migration is additive, private and idempotent","suiteID":184,"groupIDs":[202],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/travel_documents_migration_test.dart"},"type":"testStart","time":16528}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":203,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":16607}
{"suite":{"id":204,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"suite","time":16649}
{"test":{"id":205,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart","suiteID":204,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":16650}
{"testID":189,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":17018}
{"group":{"id":206,"suiteID":188,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":3,"line":null,"column":null,"url":null},"type":"group","time":17018}
{"test":{"id":207,"name":"private document validator accepts PNG JPG and PDF signatures","suiteID":188,"groupIDs":[206],"metadata":{"skip":false,"skipReason":null},"line":8,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/travel_document_upload_test.dart"},"type":"testStart","time":17019}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":207,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":17081}
{"test":{"id":208,"name":"private document validator strips traversal and rejects disguised files","suiteID":188,"groupIDs":[206],"metadata":{"skip":false,"skipReason":null},"line":25,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/travel_document_upload_test.dart"},"type":"testStart","time":17082}
{"testID":208,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":17097}
{"test":{"id":209,"name":"private document validator rejects oversized uploads","suiteID":188,"groupIDs":[206],"metadata":{"skip":false,"skipReason":null},"line":62,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/travel_document_upload_test.dart"},"type":"testStart","time":17098}
{"testID":209,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":17111}
{"suite":{"id":210,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/matching_api_service_test.dart"},"type":"suite","time":17140}
{"test":{"id":211,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/matching_api_service_test.dart","suiteID":210,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":17140}
{"testID":193,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":17373}
{"group":{"id":212,"suiteID":192,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":17373}
{"test":{"id":213,"name":"Trip Hub migration is additive, private and idempotent","suiteID":192,"groupIDs":[212],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/trip_hub_migration_test.dart"},"type":"testStart","time":17373}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":213,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":17457}
{"suite":{"id":214,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/travel_document_service_test.dart"},"type":"suite","time":17500}
{"test":{"id":215,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/travel_document_service_test.dart","suiteID":214,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":17500}
{"testID":201,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":17824}
{"group":{"id":216,"suiteID":200,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":17825}
{"test":{"id":217,"name":"Voting lifecycle migration is additive and enforces one round per group","suiteID":200,"groupIDs":[216],"metadata":{"skip":false,"skipReason":null},"line":6,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_migration_test.dart"},"type":"testStart","time":17826}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":217,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":17894}
{"suite":{"id":218,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/trip_hub_service_test.dart"},"type":"suite","time":17923}
{"test":{"id":219,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/trip_hub_service_test.dart","suiteID":218,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":17924}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":205,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":18294}
{"group":{"id":220,"suiteID":204,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":13,"line":null,"column":null,"url":null},"type":"group","time":18295}
{"test":{"id":221,"name":"three group members each have one vote","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":19,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18296}
{"testID":221,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18346}
{"test":{"id":222,"name":"a member can change a vote before the deadline","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":30,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18347}
{"testID":222,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18354}
{"test":{"id":223,"name":"a vote at or after the deadline is rejected","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":39,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18355}
{"testID":223,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18373}
{"test":{"id":224,"name":"a non-member vote is rejected","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":57,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18374}
{"testID":224,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18383}
{"test":{"id":225,"name":"one of three votes before the deadline keeps the round open","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":75,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18384}
{"testID":225,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18394}
{"test":{"id":226,"name":"two of three votes before the deadline keeps the round open","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":87,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18395}
{"testID":226,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18401}
{"test":{"id":227,"name":"all eligible members voting closes the round before the deadline","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":99,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18402}
{"testID":227,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18409}
{"test":{"id":228,"name":"an expired deadline closes even when one member voted","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":111,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18410}
{"testID":228,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18417}
{"test":{"id":229,"name":"zero votes at an expired deadline still closes for existing no-vote policy","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":123,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18418}
{"testID":229,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18427}
{"test":{"id":230,"name":"the candidate with the highest vote count wins","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":142,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18428}
{"testID":230,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18437}
{"test":{"id":231,"name":"ties use lower price, then earlier submission, then bid id","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":161,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18439}
{"testID":231,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18448}
{"test":{"id":232,"name":"finalize is idempotent and preserves the recorded winner","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":195,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18449}
{"testID":232,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18457}
{"test":{"id":233,"name":"payment is allowed only for the finalized winning bid","suiteID":204,"groupIDs":[220],"metadata":{"skip":false,"skipReason":null},"line":219,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/server/voting_policy_test.dart"},"type":"testStart","time":18458}
{"testID":233,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18466}
{"suite":{"id":234,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/ai_preference_form_test.dart"},"type":"suite","time":18510}
{"test":{"id":235,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/ai_preference_form_test.dart","suiteID":234,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":18510}
{"testID":211,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":18656}
{"group":{"id":236,"suiteID":210,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":4,"line":null,"column":null,"url":null},"type":"group","time":18657}
{"test":{"id":237,"name":"submit sends authenticated preference without a trusted user id","suiteID":210,"groupIDs":[236],"metadata":{"skip":false,"skipReason":null},"line":10,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/matching_api_service_test.dart"},"type":"testStart","time":18657}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":237,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18765}
{"test":{"id":238,"name":"status maps an assigned group and per-user score","suiteID":210,"groupIDs":[236],"metadata":{"skip":false,"skipReason":null},"line":50,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/matching_api_service_test.dart"},"type":"testStart","time":18766}
{"testID":238,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18781}
{"test":{"id":239,"name":"cancel and leave use their lifecycle endpoints","suiteID":210,"groupIDs":[236],"metadata":{"skip":false,"skipReason":null},"line":84,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/matching_api_service_test.dart"},"type":"testStart","time":18782}
{"testID":239,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18798}
{"test":{"id":240,"name":"continue waiting uses the server-owned waiting endpoint and deadline","suiteID":210,"groupIDs":[236],"metadata":{"skip":false,"skipReason":null},"line":102,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/matching_api_service_test.dart"},"type":"testStart","time":18799}
{"testID":240,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":18823}
{"suite":{"id":241,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"suite","time":18854}
{"test":{"id":242,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart","suiteID":241,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":18854}
{"testID":215,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":19048}
{"group":{"id":243,"suiteID":214,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":2,"line":null,"column":null,"url":null},"type":"group","time":19048}
{"test":{"id":244,"name":"save sends authenticated private file payload and parses status","suiteID":214,"groupIDs":[243],"metadata":{"skip":false,"skipReason":null},"line":10,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/travel_document_service_test.dart"},"type":"testStart","time":19049}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":244,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":19162}
{"test":{"id":245,"name":"other-user denial keeps backend 403 message","suiteID":214,"groupIDs":[243],"metadata":{"skip":false,"skipReason":null},"line":52,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/travel_document_service_test.dart"},"type":"testStart","time":19163}
{"testID":245,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":19193}
{"suite":{"id":246,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/login_page_test.dart"},"type":"suite","time":19231}
{"test":{"id":247,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/login_page_test.dart","suiteID":246,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":19231}
{"testID":219,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":19513}
{"group":{"id":248,"suiteID":218,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":19514}
{"test":{"id":249,"name":"reads real trip hub payload and acknowledges user-only checklist items","suiteID":218,"groupIDs":[248],"metadata":{"skip":false,"skipReason":null},"line":10,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/services/trip_hub_service_test.dart"},"type":"testStart","time":19514}
{"testID":249,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":19611}
{"suite":{"id":250,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/matching_status_view_test.dart"},"type":"suite","time":19657}
{"test":{"id":251,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/matching_status_view_test.dart","suiteID":250,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":19657}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":235,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":20302}
{"group":{"id":252,"suiteID":234,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":5,"line":null,"column":null,"url":null},"type":"group","time":20303}
{"test":{"id":253,"name":"ประเทศไทย งบ 3000 sync เป็นไทยและ bucket ไม่เกิน 10000","suiteID":234,"groupIDs":[252],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":53,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/ai_preference_form_test.dart"},"type":"testStart","time":20303}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":242,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":21172}
{"group":{"id":254,"suiteID":241,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":12,"line":null,"column":null,"url":null},"type":"group","time":21173}
{"test":{"id":255,"name":"group chat exposes poll entry and opens it for current group","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":30,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":21173}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":247,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":21843}
{"group":{"id":256,"suiteID":246,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":4,"line":null,"column":null,"url":null},"type":"group","time":21844}
{"test":{"id":257,"name":"บัญชีล่าสุดแสดงชื่อและอีเมลแบบ compact โดยไม่มีคำภายใน","suiteID":246,"groupIDs":[256],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":38,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/login_page_test.dart"},"type":"testStart","time":21844}
{"testID":251,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":22872}
{"group":{"id":258,"suiteID":250,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":5,"line":null,"column":null,"url":null},"type":"group","time":22873}
{"test":{"id":259,"name":"waiting state shows real preference and no join button","suiteID":250,"groupIDs":[258],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":22,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/matching_status_view_test.dart"},"type":"testStart","time":22873}
{"testID":259,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":24728}
{"test":{"id":260,"name":"waiting countdown is shown before deadline and alternatives stay hidden","suiteID":250,"groupIDs":[258],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":45,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/matching_status_view_test.dart"},"type":"testStart","time":24728}
{"testID":253,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":24856}
{"test":{"id":261,"name":"ญี่ปุ่น งบ 18000 sync bucket และ interests ที่แสดงบน UI","suiteID":234,"groupIDs":[252],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":75,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/ai_preference_form_test.dart"},"type":"testStart","time":24857}
{"testID":255,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":24858}
{"test":{"id":262,"name":"returning from poll refreshes chat summary and keeps manual refresh","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":75,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":24859}
{"testID":260,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":24952}
{"test":{"id":263,"name":"expired waiting state exposes alternatives and continue waiting","suiteID":250,"groupIDs":[258],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":66,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/matching_status_view_test.dart"},"type":"testStart","time":24953}
{"testID":263,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":25380}
{"test":{"id":264,"name":"matched state opens assigned group without join action","suiteID":250,"groupIDs":[258],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":95,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/matching_status_view_test.dart"},"type":"testStart","time":25381}
{"testID":257,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":25514}
{"test":{"id":265,"name":"เลือกบัญชีล่าสุดแล้วยังผ่าน AuthService และสร้าง session เดิม","suiteID":246,"groupIDs":[256],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":55,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/login_page_test.dart"},"type":"testStart","time":25514}
{"testID":264,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":25738}
{"test":{"id":266,"name":"waiting state exposes explicit alternative destination choices","suiteID":250,"groupIDs":[258],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":122,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/matching_status_view_test.dart"},"type":"testStart","time":25739}
{"testID":266,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":26007}
{"testID":262,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":26037}
{"test":{"id":267,"name":"group chat keeps finalized place poll aggregate visible","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":123,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":26038}
{"suite":{"id":268,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/notifications_page_test.dart"},"type":"suite","time":26054}
{"test":{"id":269,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/notifications_page_test.dart","suiteID":268,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":26054}
{"testID":261,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":26144}
{"test":{"id":270,"name":"manual controls หลัง extraction override ข้อความรอบถัดไป","suiteID":234,"groupIDs":[252],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":101,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/ai_preference_form_test.dart"},"type":"testStart","time":26145}
{"testID":267,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":26443}
{"test":{"id":271,"name":"poll page keeps region-first order and refreshes vote results","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":145,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":26444}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":271,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":27164}
{"test":{"id":272,"name":"Japan package-catalog fixture votes city then city places","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":178,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":27164}
{"testID":270,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":27557}
{"test":{"id":273,"name":"budget bucket เลือกเพดานที่เล็กที่สุดซึ่งครอบคลุมงบ","suiteID":234,"groupIDs":[252],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":128,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/ai_preference_form_test.dart"},"type":"testStart","time":27557}
{"testID":269,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":27682}
{"group":{"id":274,"suiteID":268,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":27682}
{"test":{"id":275,"name":"notification page shows unread items and marks all read","suiteID":268,"groupIDs":[274],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":24,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/notifications_page_test.dart"},"type":"testStart","time":27682}
{"testID":272,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":27897}
{"test":{"id":276,"name":"member city choice cannot unlock group place poll","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":239,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":27897}
{"testID":265,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28046}
{"test":{"id":277,"name":"ใช้บัญชีอื่นเปิด credential และ social login เดิม","suiteID":246,"groupIDs":[256],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":72,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/login_page_test.dart"},"type":"testStart","time":28046}
{"testID":276,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28175}
{"test":{"id":278,"name":"final group city controls place options regardless of own vote","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":269,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":28176}
{"testID":278,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28394}
{"test":{"id":279,"name":"destination poll image assets are bundled and readable","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":292,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":28394}
{"testID":273,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28420}
{"test":{"id":280,"name":"เดือนและปีในข้อความ sync ไปยัง travel month","suiteID":234,"groupIDs":[252],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":140,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/ai_preference_form_test.dart"},"type":"testStart","time":28421}
{"testID":279,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28435}
{"test":{"id":281,"name":"poll UI shows tie history and finalized place rankings","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":317,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":28436}
{"testID":281,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28620}
{"test":{"id":282,"name":"expired below-quorum poll is visibly waiting, not finalized","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":341,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":28621}
{"testID":282,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28788}
{"test":{"id":283,"name":"poll API scopes read request to requested group","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":356,"column":3,"url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":28788}
{"testID":283,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28802}
{"test":{"id":284,"name":"authenticated non-member receives the server 403 message","suiteID":241,"groupIDs":[254],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":376,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/destination_poll_entry_test.dart"},"type":"testStart","time":28802}
{"testID":284,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":28913}
{"suite":{"id":285,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/travel_documents_page_test.dart"},"type":"suite","time":28966}
{"test":{"id":286,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/travel_documents_page_test.dart","suiteID":285,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":28966}
{"testID":280,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":29275}
{"suite":{"id":287,"platform":"vm","path":"C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"suite","time":29333}
{"test":{"id":288,"name":"loading C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart","suiteID":287,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":29333}
{"testID":275,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":29695}
{"testID":277,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":29756}
{"test":{"id":289,"name":"ปิด recent accounts แล้วแสดง login ปกติทันที","suiteID":246,"groupIDs":[256],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":97,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/login_page_test.dart"},"type":"testStart","time":29756}
{"testID":289,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":30894}

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]

[{"event":"test.startedProcess","params":{"vmServiceUri":null}}]
{"testID":286,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":35257}
{"group":{"id":290,"suiteID":285,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":35258}
{"test":{"id":291,"name":"travel documents page shows saved status and private files","suiteID":285,"groupIDs":[290],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":24,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widgets/travel_documents_page_test.dart"},"type":"testStart","time":35258}
{"testID":288,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":35866}
{"group":{"id":292,"suiteID":287,"parentID":null,"name":"","metadata":{"skip":false,"skipReason":null},"testCount":22,"line":null,"column":null,"url":null},"type":"group","time":35867}
{"test":{"id":293,"name":"ปุ่มค้นหาตรงกลางหน้าแรกเปิดหน้าค้นหาด้วย AI ได้","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":27,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":35867}
{"testID":291,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":37336}
{"testID":293,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":38767}
{"test":{"id":294,"name":"หน้าหลักและรายละเอียดอ้างอิงจำนวนสมาชิกล่าสุดจากกลุ่มเดียวกัน","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":47,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":38767}
{"testID":294,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":39225}
{"test":{"id":295,"name":"โปรไฟล์มือถือแก้ข้อมูลส่วนตัวและความสนใจได้","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":81,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":39225}
{"testID":295,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":39541}
{"test":{"id":296,"name":"เลือกเชียงใหม่แล้วรายละเอียดเป็นข้อมูลเชียงใหม่","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":116,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":39542}
{"testID":296,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":40774}
{"test":{"id":297,"name":"ผู้เยี่ยมชมเปิดโปรไฟล์โดยตรงแล้วถูกพาไปเข้าสู่ระบบ","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":148,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":40774}
{"testID":297,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":41422}
{"test":{"id":298,"name":"หน้าโหวตไม่แสดงข้อมูลให้ผู้ที่ไม่มีเซสชัน","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":162,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":41423}
{"testID":298,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":41475}
{"test":{"id":299,"name":"บันทึกคะแนนแล้วยังไม่ประกาศผู้ชนะก่อน finalize","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":170,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":41476}
{"testID":299,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":41851}
{"test":{"id":300,"name":"ปิดโหวตแล้ว finalize จึงแสดง winner และปุ่ม Payment","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":208,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":41852}
{"testID":300,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":42035}
{"test":{"id":301,"name":"หน้าชำระเงินไม่รับข้อเสนอที่ยังไม่ถูกเลือก","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":245,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":42036}
{"testID":301,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":42077}
{"test":{"id":302,"name":"พร้อมเพย์แสดง QR สาธิตและซ่อนเมื่อเลือกโอนธนาคาร","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":253,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":42077}
{"testID":302,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":43100}
{"test":{"id":303,"name":"ส่งสลิปแล้วแสดงกำลังตรวจสอบก่อนผลสำเร็จจาก backend","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":326,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":43101}
{"testID":303,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":44202}
{"test":{"id":304,"name":"ฟอร์ม AI บนมือถือมีข้อมูลครบและไม่เกิด overflow","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":407,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":44202}
{"testID":304,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":44380}
{"test":{"id":305,"name":"Guest ใช้ฟอร์มเดียวกัน ข้อมูลคงอยู่ และไม่เข้า matching pool","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":439,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":44380}
{"testID":305,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":45650}
{"test":{"id":306,"name":"สมาชิกส่ง preference จาก controls เข้า automated matching","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":524,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":45651}
{"testID":306,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":46397}
{"test":{"id":307,"name":"แท็บข้อความโหลดห้องของกลุ่มที่ผู้ใช้เข้าร่วมด้วย groupId","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":582,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":46398}
{"testID":307,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":46701}
{"test":{"id":308,"name":"ออกจากกลุ่มได้โดยตรงจากหน้าข้อความ","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":618,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":46702}
{"testID":308,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":47164}
{"test":{"id":309,"name":"แชตแสดงสถานะชำระ นัดหมาย และให้คะแนนหลังจบทริปได้","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":646,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":47164}
{"testID":309,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":47897}
{"test":{"id":310,"name":"แผ่นให้คะแนนจัดวางได้บนจอเล็กและปิดได้","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":706,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":47897}
{"testID":310,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":48091}
{"test":{"id":311,"name":"ช่องความคิดเห็นและปุ่มส่งคะแนนเลื่อนได้เมื่อเปิดคีย์บอร์ด","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":732,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":48091}
{"testID":311,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":48446}
{"test":{"id":312,"name":"ครบเวลานับถอยหลังแล้วระบบยุบกลุ่มและปลดสมาชิก","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":774,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":48447}
{"testID":312,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":48780}
{"test":{"id":313,"name":"สมาชิกยืนยันออกจากกลุ่มแล้วสถานะในแอปถูกล้าง","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":802,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":48780}
{"testID":313,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":49769}
{"test":{"id":314,"name":"กลุ่มที่สมาชิกเต็มแสดงสถานะเต็มและปิดปุ่มเข้าร่วม","suiteID":287,"groupIDs":[292],"metadata":{"skip":false,"skipReason":null},"line":174,"column":5,"url":"package:flutter_test/src/widget_tester.dart","root_line":868,"root_column":3,"root_url":"file:///C:/Users/Asus/Desktop/TourAppProject/travelin_app/test/widget_test.dart"},"type":"testStart","time":49770}
{"testID":314,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":50603}
{"success":true,"type":"done","time":50665}
