From b9b2c876cc75324872b0228ef41807a41e374d87 Mon Sep 17 00:00:00 2001 From: David Cook Date: Wed, 27 Mar 2024 17:18:05 +1100 Subject: [PATCH] Ensure value always shows Even thought it's not valid (you can't save items with an empty name), it's disconcerting when the value suddenly disappears from view. --- app/webpacker/js/services/option_value_namer.js | 3 +++ spec/javascripts/services/option_value_namer_test.js | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/app/webpacker/js/services/option_value_namer.js b/app/webpacker/js/services/option_value_namer.js index 5bc10220ce..ba4b12fd96 100644 --- a/app/webpacker/js/services/option_value_namer.js +++ b/app/webpacker/js/services/option_value_namer.js @@ -13,7 +13,10 @@ export default class OptionValueNamer { const name_fields = []; if (value && unit) { name_fields.push(`${value}${separator}${unit}`); + } else if (value) { + name_fields.push(value); } + if (this.variant.unit_description) { name_fields.push(this.variant.unit_description); } diff --git a/spec/javascripts/services/option_value_namer_test.js b/spec/javascripts/services/option_value_namer_test.js index b8535d488e..e7878adae1 100644 --- a/spec/javascripts/services/option_value_namer_test.js +++ b/spec/javascripts/services/option_value_namer_test.js @@ -18,6 +18,12 @@ describe("OptionValueNamer", () => { namer = new OptionValueNamer(v); }); + it("when unit is blank (empty items name)", function() { + jest.spyOn(namer, "value_scaled").mockImplementation(() => true); + jest.spyOn(namer, "option_value_value_unit").mockImplementation(() => ["value", ""]); + expect(namer.name()).toBe("value"); + }); + it("when description is blank", function() { v.unit_description = null; jest.spyOn(namer, "value_scaled").mockImplementation(() => true);