Continue phase 2 device ops and dynamic QR lifecycle
This commit is contained in:
@ -197,6 +197,7 @@ async function reqDevice(path, opts = {}) {
|
||||
await reqAdmin(`/admin/audit-logs?entity_id=${txId}`, { _label: 'GET /admin/audit-logs' });
|
||||
await reqAdmin(`/admin/transactions/${txId}/heartbeats`, { _label: 'GET /admin/transactions/:id/heartbeats' });
|
||||
await reqAdmin(`/admin/devices/${deviceId}/heartbeats`, { _label: 'GET /admin/devices/:id/heartbeats' });
|
||||
await reqAdmin(`/admin/devices/${deviceId}`, { _label: 'GET /admin/devices/:id health summary' });
|
||||
await reqAdmin('/admin/notifications/failed', { _label: 'GET /admin/notifications/failed' });
|
||||
await reqAdmin(`/admin/transactions/${txId}/retry-notification`, {
|
||||
method: 'POST',
|
||||
@ -349,6 +350,31 @@ async function reqDevice(path, opts = {}) {
|
||||
await reqAdmin(`/admin/transactions/${dynamicQr?.data?.transaction_id}`, {
|
||||
_label: 'GET /admin/transactions/:id dynamic-api'
|
||||
});
|
||||
const dueDynamicTx = await reqAdmin('/admin/transactions', {
|
||||
method: 'POST',
|
||||
body: {
|
||||
partner_reference: `DUE-DYN-${ts}`,
|
||||
merchant_id: merchantId,
|
||||
outlet_id: dynamicOutletId,
|
||||
terminal_id: dynamicTerminalId,
|
||||
device_id: dynamicDeviceId,
|
||||
amount: 12000,
|
||||
currency: 'IDR',
|
||||
qr_mode: 'dynamic',
|
||||
initiation_mode: 'dynamic_api',
|
||||
status: 'awaiting_payment',
|
||||
expired_at: new Date(Date.now() - 60_000).toISOString()
|
||||
},
|
||||
_label: 'POST /admin/transactions due dynamic'
|
||||
});
|
||||
await reqAdmin('/admin/transactions/expire-due', {
|
||||
method: 'POST',
|
||||
body: { limit: 10 },
|
||||
_label: 'POST /admin/transactions/expire-due'
|
||||
});
|
||||
await reqAdmin(`/admin/transactions/${dueDynamicTx?.data?.id}`, {
|
||||
_label: 'GET /admin/transactions/:id expired dynamic'
|
||||
});
|
||||
|
||||
const mqttOutlet = await reqAdmin(`/admin/merchants/${merchantId}/outlets`, {
|
||||
method: 'POST',
|
||||
@ -452,6 +478,14 @@ async function reqDevice(path, opts = {}) {
|
||||
_label: 'PATCH /admin/devices/:id/config'
|
||||
});
|
||||
const configVersion = pushedConfig?.data?.config?.config_version;
|
||||
await reqAdmin(`/admin/devices/${dynamicDeviceId}/config/status`, {
|
||||
_label: 'GET /admin/devices/:id/config/status pending'
|
||||
});
|
||||
await reqAdmin(`/admin/devices/${dynamicDeviceId}/config/retry-push`, {
|
||||
method: 'POST',
|
||||
body: {},
|
||||
_label: 'POST /admin/devices/:id/config/retry-push'
|
||||
});
|
||||
await reqDevice(`/device/config?device_id=${dynamicDeviceId}`, {
|
||||
_label: 'GET /device/config'
|
||||
});
|
||||
@ -468,9 +502,21 @@ async function reqDevice(path, opts = {}) {
|
||||
await reqAdmin(`/admin/devices/${dynamicDeviceId}/config`, {
|
||||
_label: 'GET /admin/devices/:id/config'
|
||||
});
|
||||
await reqAdmin(`/admin/devices/${dynamicDeviceId}/config/status`, {
|
||||
_label: 'GET /admin/devices/:id/config/status applied'
|
||||
});
|
||||
await reqExpect(`/admin/devices/${dynamicDeviceId}/config/retry-push`, 409, {
|
||||
method: 'POST',
|
||||
headers: { Authorization: `Bearer ${ADMIN_TOKEN}` },
|
||||
body: {},
|
||||
_label: 'POST /admin/devices/:id/config/retry-push already applied'
|
||||
});
|
||||
await reqAdmin(`/admin/devices/${dynamicDeviceId}/mqtt-messages?message_type=config_push`, {
|
||||
_label: 'GET /admin/devices/:id/mqtt-messages config'
|
||||
});
|
||||
await reqAdmin(`/admin/devices/${dynamicDeviceId}/mqtt-messages?message_type=config_ack`, {
|
||||
_label: 'GET /admin/devices/:id/mqtt-messages config ack'
|
||||
});
|
||||
|
||||
console.log(`Smoke point 4 flow done. tx=${txId} device=${deviceId}`);
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user