Skip to content

Commit 78d5dfc

Browse files
committed
update tests + docs
1 parent c323b8d commit 78d5dfc

5 files changed

Lines changed: 36 additions & 14 deletions

File tree

packages/browser-sdk/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
document.getElementById("loading").style.display = "none";
5555
});
5656

57-
bucket.on("enabledCheck", (check) =>
57+
bucket.on("check", (check) =>
5858
console.log(`Check event for ${check.key}`),
5959
);
6060

packages/browser-sdk/test/client.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,15 @@ describe("BucketClient", () => {
8080
const trackHook = vi.fn();
8181
const userHook = vi.fn();
8282
const companyHook = vi.fn();
83+
const checkHook = vi.fn();
8384
const checkHookIsEnabled = vi.fn();
8485
const checkHookConfig = vi.fn();
8586
const featuresUpdated = vi.fn();
8687

8788
client.on("track", trackHook);
8889
client.on("user", userHook);
8990
client.on("company", companyHook);
91+
client.on("check", checkHook);
9092
client.on("configCheck", checkHookConfig);
9193
client.on("enabledCheck", checkHookIsEnabled);
9294
client.on("featuresUpdated", featuresUpdated);
@@ -108,10 +110,14 @@ describe("BucketClient", () => {
108110
// eslint-disable-next-line @typescript-eslint/no-unused-expressions -- special getter triggering event
109111
client.getFeature("featureA").isEnabled;
110112
expect(checkHookIsEnabled).toHaveBeenCalled();
113+
expect(checkHook).toHaveBeenCalled();
114+
115+
checkHook.mockReset();
111116

112117
// eslint-disable-next-line @typescript-eslint/no-unused-expressions -- special getter triggering event
113118
client.getFeature("featureA").config;
114119
expect(checkHookConfig).toHaveBeenCalled();
120+
expect(checkHook).toHaveBeenCalled();
115121

116122
expect(featuresUpdated).not.toHaveBeenCalled();
117123
await client.updateOtherContext({ key: "value" });
@@ -121,6 +127,7 @@ describe("BucketClient", () => {
121127
client.off("track", trackHook);
122128
client.off("user", userHook);
123129
client.off("company", companyHook);
130+
client.off("check", checkHook);
124131
client.off("configCheck", checkHookConfig);
125132
client.off("enabledCheck", checkHookIsEnabled);
126133
client.off("featuresUpdated", featuresUpdated);
@@ -147,6 +154,7 @@ describe("BucketClient", () => {
147154
expect(trackHook).not.toHaveBeenCalled();
148155
expect(userHook).not.toHaveBeenCalled();
149156
expect(companyHook).not.toHaveBeenCalled();
157+
expect(checkHook).not.toHaveBeenCalled();
150158
expect(checkHookIsEnabled).not.toHaveBeenCalled();
151159
expect(checkHookConfig).not.toHaveBeenCalled();
152160
expect(featuresUpdated).not.toHaveBeenCalled();

packages/browser-sdk/test/hooksManager.test.ts

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@ describe("HookManager", () => {
1212
});
1313

1414
it("should add and trigger check-is-enabled hooks", () => {
15+
const callback = vi.fn();
16+
hookManager.addHook("check", callback);
17+
18+
const checkEvent: CheckEvent = {
19+
action: "check-is-enabled",
20+
key: "test-key",
21+
value: true,
22+
};
23+
hookManager.trigger("check", checkEvent);
24+
25+
expect(callback).toHaveBeenCalledWith(checkEvent);
26+
});
27+
28+
it("should add and trigger enabledCheck hooks", () => {
1529
const callback = vi.fn();
1630
hookManager.addHook("enabledCheck", callback);
1731

@@ -94,15 +108,15 @@ describe("HookManager", () => {
94108
const callback1 = vi.fn();
95109
const callback2 = vi.fn();
96110

97-
hookManager.addHook("enabledCheck", callback1);
98-
hookManager.addHook("enabledCheck", callback2);
111+
hookManager.addHook("check", callback1);
112+
hookManager.addHook("check", callback2);
99113

100114
const checkEvent: CheckEvent = {
101115
action: "check-is-enabled",
102116
key: "test-key",
103117
value: true,
104118
};
105-
hookManager.trigger("enabledCheck", checkEvent);
119+
hookManager.trigger("check", checkEvent);
106120

107121
expect(callback1).toHaveBeenCalledWith(checkEvent);
108122
expect(callback2).toHaveBeenCalledWith(checkEvent);
@@ -112,16 +126,16 @@ describe("HookManager", () => {
112126
const callback1 = vi.fn();
113127
const callback2 = vi.fn();
114128

115-
hookManager.addHook("enabledCheck", callback1);
116-
hookManager.addHook("enabledCheck", callback2);
117-
hookManager.removeHook("enabledCheck", callback1);
129+
hookManager.addHook("check", callback1);
130+
hookManager.addHook("check", callback2);
131+
hookManager.removeHook("check", callback1);
118132

119133
const checkEvent: CheckEvent = {
120134
action: "check-is-enabled",
121135
key: "test-key",
122136
value: true,
123137
};
124-
hookManager.trigger("enabledCheck", checkEvent);
138+
hookManager.trigger("check", checkEvent);
125139

126140
expect(callback1).not.toHaveBeenCalled();
127141
expect(callback2).toHaveBeenCalledWith(checkEvent);
@@ -131,16 +145,16 @@ describe("HookManager", () => {
131145
const callback1 = vi.fn();
132146
const callback2 = vi.fn();
133147

134-
const removeHook1 = hookManager.addHook("enabledCheck", callback1);
135-
hookManager.addHook("enabledCheck", callback2);
148+
const removeHook1 = hookManager.addHook("check", callback1);
149+
hookManager.addHook("check", callback2);
136150
removeHook1();
137151

138152
const checkEvent: CheckEvent = {
139153
action: "check-is-enabled",
140154
key: "test-key",
141155
value: true,
142156
};
143-
hookManager.trigger("enabledCheck", checkEvent);
157+
hookManager.trigger("check", checkEvent);
144158

145159
expect(callback1).not.toHaveBeenCalled();
146160
expect(callback2).toHaveBeenCalledWith(checkEvent);

packages/react-sdk/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ function LoggingWrapper({ children }: { children: ReactNode }) {
409409
const client = useClient();
410410

411411
useEffect(() => {
412-
client.on("enabledCheck", (evt) => {
412+
client.on("check", (evt) => {
413413
console.log(`The feature ${evt.key} is ${evt.value} for user.`);
414414
});
415415
}, [client]);

packages/react-sdk/src/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -362,8 +362,8 @@ export function useUpdateOtherContext() {
362362
* ```ts
363363
* const client = useClient();
364364
* useEffect(() => {
365-
* return client?.on("enabledCheck", () => {
366-
* console.log("enabledCheck hook called");
365+
* return client?.on("check", () => {
366+
* console.log("check hook called");
367367
* });
368368
* }, [client]);
369369
* ```

0 commit comments

Comments
 (0)