updates on the builded changes
This commit is contained in:
@@ -1,7 +1,28 @@
|
||||
const webpack = require('webpack');
|
||||
const WorkBoxPlugin = require('workbox-webpack-plugin');
|
||||
|
||||
// Fail the build loudly when an API base is missing, instead of emitting a
|
||||
// bundle in which every request URL is the string "undefined/orders/..." —
|
||||
// a relative path that silently resolves against whatever host the console is
|
||||
// served from. That produced a deploy where the API base appeared to be the
|
||||
// front-end's own origin. Only enforced for production builds; `npm start`
|
||||
// is left alone.
|
||||
const REQUIRED_PROD_ENV = ['REACT_APP_URL', 'REACT_APP_URL2'];
|
||||
|
||||
function assertRequiredEnv() {
|
||||
if (process.env.NODE_ENV !== 'production') return;
|
||||
const missing = REQUIRED_PROD_ENV.filter((k) => !process.env[k]);
|
||||
if (!missing.length) return;
|
||||
throw new Error(
|
||||
`\n\nBuild aborted — missing required environment variable(s): ${missing.join(', ')}.\n` +
|
||||
'Define them in .env (loaded by every build) or build via `npm run build:staging` / `build:dev`,\n' +
|
||||
'which load .env.staging / .env.development through env-cmd.\n'
|
||||
);
|
||||
}
|
||||
|
||||
module.exports = function override(config) {
|
||||
assertRequiredEnv();
|
||||
|
||||
config.resolve.fallback = {
|
||||
process: require.resolve('process/browser'),
|
||||
// zlib: require.resolve('browserify-zlib'),
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import axios from 'axios';
|
||||
import dayjs from 'dayjs';
|
||||
import { OpenToast } from 'components/nearle_components/OpenToast';
|
||||
const tenid = localStorage.getItem('tenantid');
|
||||
|
||||
|
||||
@@ -438,3 +438,23 @@ describe('orders.js empty-batch guard contract', () => {
|
||||
expect(guardFires(normaliseAssignResponse(zoned))).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
// ==========================================================================
|
||||
// Regression: cancelMultipleOrder referenced dayjs without importing it,
|
||||
// throwing a ReferenceError on the multi-cancel confirm button.
|
||||
// ==========================================================================
|
||||
describe('cancelMultipleOrder', () => {
|
||||
it('builds a cancelled timestamp without throwing a ReferenceError', async () => {
|
||||
const { cancelMultipleOrder } = require('./api');
|
||||
axios.put.mockResolvedValue({ data: { status: true } });
|
||||
await cancelMultipleOrder([{ orderheaderid: 1 }, { orderheaderid: 2 }]);
|
||||
|
||||
const [, body] = axios.put.mock.calls[0];
|
||||
expect(body).toHaveLength(2);
|
||||
body.forEach((row) => {
|
||||
expect(row.orderstatus).toBe('cancelled');
|
||||
// Real formatted timestamp, not "Invalid Date" or undefined.
|
||||
expect(row.cancelled).toMatch(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user