Skip to content

Commit 5ad631a

Browse files
authored
Merge pull request #479 from awensaunders/avg-decimals
Bugfix in avg-decimals
2 parents 27f8a63 + ac28208 commit 5ad631a

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

app/javascript/libs/expressions/operators/avg.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export default (expressions, extra) => ({
2323

2424
const res = sum / (count === 0 ? 1 : count);
2525

26-
if (decimalPlaces) {
26+
if (decimalPlaces || decimalPlaces === 0) {
2727
return parseFloat(res.toFixed(decimalPlaces));
2828
}
2929

app/javascript/libs/expressions/operators/avg.unit.test.js

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import avgOperator from "./avg";
77
describe("avgOperator", () => {
88
const operator = avgOperator(["a", "b", "c"]);
99
const decimalPlaceOperator = avgOperator(["a", "b", "c"], { decimalPlaces: 3 });
10+
const roundOperator = avgOperator(["a", "b", "c"], {decimalPlaces: 0});
1011

1112
it("should return avg", () => {
1213
expect(operator.evaluate({ a: 3, b: 4, c: 2 })).to.deep.equals(3);
@@ -26,4 +27,7 @@ describe("avgOperator", () => {
2627
it("returns a float when decimal places are specified", () => {
2728
expect(decimalPlaceOperator.evaluate({ a: 1, b: 4 })).to.deep.equals(2.5);
2829
});
30+
it("rounds correctly if decimalPlaces are 0", () => {
31+
expect(roundOperator.evaluate({a: 1, b: 1, c:3})).to.deep.equals(2);
32+
})
2933
});

0 commit comments

Comments
 (0)