Adds a standalone Node smoke test (smoke/) that exercises every REST endpoint consumed by the Flutter app against a seeded local dev server and compares responses to committed snapshots. This is the safety net for the Meteor upgrade: it must stay byte-identical after every escala. - smoke/seed.js: deterministic Mongo seed (fixed ObjectIds, geo indexes) - smoke/run.js: calls endpoints, normalizes volatile fields, diffs snapshots - smoke/smoke.sh: seed + run wrapper - smoke/snapshots/: baseline captured on Meteor 1.6.1.1 - IPGeocoder.js: degrade gracefully when MaxMind DB absent (dev boot) - settings-development.json: dev-only internalApiToken to enable the REST API - .meteorignore: exclude smoke/ from the Meteor server build
29 lines
535 B
JSON
29 lines
535 B
JSON
{
|
|
"data": {
|
|
"count": 1,
|
|
"subscriptions": [
|
|
{
|
|
"_id": {
|
|
"_str": "d0000000000000000000000d"
|
|
},
|
|
"createdAt": "<createdAt>",
|
|
"distance": 40,
|
|
"geo": {
|
|
"coordinates": [
|
|
-3.7,
|
|
40.41
|
|
],
|
|
"type": "Point"
|
|
},
|
|
"location": {
|
|
"lat": 40.41,
|
|
"lon": -3.7
|
|
},
|
|
"owner": "<owner>",
|
|
"type": "mobile",
|
|
"updatedAt": "<updatedAt>"
|
|
}
|
|
]
|
|
},
|
|
"status": "success"
|
|
}
|