Skip to content

Commit 1948983

Browse files
committed
test: add missing tests for status-bar-manager uncovered lines
Button color property application and refreshConfig.enabled=true paths were untested, leaving coverage at 91.3%. - Add test for button color property being applied to statusBarItem (line 104) - Add test for refresh button creation when refreshConfig.enabled is true (lines 119-124) - status-bar-manager.ts coverage: 91.3% → 98.55%
1 parent 914fda3 commit 1948983

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

src/internal/managers/status-bar-manager.spec.ts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,55 @@ describe("status-bar-manager", () => {
467467
const setIndicator = createdItems.find((item: any) => item.text === "$(layers) [TestSet]");
468468
expect(setIndicator).toBeDefined();
469469
});
470+
471+
it("should apply color to status bar item when button has color property", () => {
472+
mockStore.getState().setButtons([
473+
{
474+
color: "#FF5500",
475+
command: "echo colored",
476+
id: "colored-btn",
477+
name: "Colored Button",
478+
},
479+
]);
480+
481+
statusBarManager = StatusBarManager.create({
482+
configReader: mockConfigReader,
483+
statusBarCreator: mockStatusBarCreator,
484+
store: mockStore,
485+
});
486+
487+
mockStatusBarCreator.mockClear();
488+
statusBarManager.refreshButtons();
489+
490+
const createdItems = mockStatusBarCreator.mock.results.map((r: any) => r.value);
491+
const coloredItem = createdItems.find((item: any) => item.text === "Colored Button");
492+
expect(coloredItem).toBeDefined();
493+
expect(coloredItem.color).toBe("#FF5500");
494+
});
495+
496+
it("should create refresh button when refreshConfig.enabled is true", () => {
497+
mockConfigReader.getRefreshConfig.mockReturnValue({
498+
color: "#00FF00",
499+
enabled: true,
500+
icon: "$(sync)",
501+
});
502+
503+
statusBarManager = StatusBarManager.create({
504+
configReader: mockConfigReader,
505+
statusBarCreator: mockStatusBarCreator,
506+
store: mockStore,
507+
});
508+
509+
mockStatusBarCreator.mockClear();
510+
statusBarManager.refreshButtons();
511+
512+
const createdItems = mockStatusBarCreator.mock.results.map((r: any) => r.value);
513+
const refreshButton = createdItems.find((item: any) => item.text === "$(sync)");
514+
expect(refreshButton).toBeDefined();
515+
expect(refreshButton.tooltip).toBe("Refresh Quick Command Buttons");
516+
expect(refreshButton.command).toBe("quickCommandButtons.refresh");
517+
expect(refreshButton.color).toBe("#00FF00");
518+
});
470519
});
471520

472521
describe("dispose", () => {

0 commit comments

Comments
 (0)