diff --git a/api/src/engine/connectors/datashield/handlers/algorithms/linear-regression.handler.spec.ts b/api/src/engine/connectors/datashield/handlers/algorithms/linear-regression.handler.spec.ts index ca1f91e8b2e2d6de8af4ed0357420993d97531ea..962b13ac9c938ac539ea92e0eb57508be2a6cf04 100644 --- a/api/src/engine/connectors/datashield/handlers/algorithms/linear-regression.handler.spec.ts +++ b/api/src/engine/connectors/datashield/handlers/algorithms/linear-regression.handler.spec.ts @@ -87,22 +87,25 @@ describe('linear regression result handler', () => { }); describe('Handle', () => { - it('should output a tableResult', () => { + it('should output two TableResult', () => { linearHandler.handle(experiment, data, vars); - expect(experiment.results).toHaveLength(1); + expect(experiment.results).toHaveLength(2); - const result = experiment.results[0] as TableResult; + const summary = experiment.results[0] as TableResult; + const coefs = experiment.results[1] as TableResult; - expect(result.headers).toHaveLength(7); + expect(coefs.headers).toHaveLength(7); data.coefficients.forEach((coef, index) => { - expect(result.data[index][1]).toBe(coef.Estimate); - expect(result.data[index][2]).toBe(coef['Std. Error']); - expect(result.data[index][3]).toBe(coef['z-value']); - expect(result.data[index][4]).toBe(coef['p-value']); - expect(result.data[index][5]).toBe(coef['low0.95CI']); - expect(result.data[index][6]).toBe(coef['high0.95CI']); + expect(coefs.data[index][1]).toBe(coef.Estimate); + expect(coefs.data[index][2]).toBe(coef['Std. Error']); + expect(coefs.data[index][3]).toBe(coef['z-value']); + expect(coefs.data[index][4]).toBe(coef['p-value']); + expect(coefs.data[index][5]).toBe(coef['low0.95CI']); + expect(coefs.data[index][6]).toBe(coef['high0.95CI']); }); + + expect(summary.data.some((row) => !row[0] || !row[1])).toBeFalsy(); }); }); }); diff --git a/api/src/engine/connectors/datashield/handlers/algorithms/linear-regression.handler.ts b/api/src/engine/connectors/datashield/handlers/algorithms/linear-regression.handler.ts index 96d2a3a0970e576c4ed6d47229afd645867697b4..8af3a9c6948820f2864d793868c5d0f49f017cfd 100644 --- a/api/src/engine/connectors/datashield/handlers/algorithms/linear-regression.handler.ts +++ b/api/src/engine/connectors/datashield/handlers/algorithms/linear-regression.handler.ts @@ -11,6 +11,10 @@ const lookupDict = { 'low0.95CI': 'Low 95% CI', 'high0.95CI': 'High 95% CI', _row: '', + iter: 'Iteration(s)', + Nvalid: 'Valid observations', + Ntotal: 'Total observations', + df: 'Degrees of freedom', }; const properties = [ @@ -69,7 +73,5 @@ export default class LinearRegressionHandler extends BaseHandler { if (summaryResult) experiment.results.push(summaryResult); if (tableResult) experiment.results.push(tableResult); - - this.next?.handle(experiment, data, vars); } }