summaryrefslogtreecommitdiff
path: root/packages/telemetry/test/session-event.test.js
diff options
context:
space:
mode:
authorGravatar Okiki Ojo <okikio.dev@gmail.com> 2022-06-16 14:53:07 -0400
committerGravatar GitHub <noreply@github.com> 2022-06-16 14:53:07 -0400
commit9c8a7c0b09db2fb6925929d4efe01d5ececbf08e (patch)
tree74eead0a8bab911d19c32911c233fce96088bd51 /packages/telemetry/test/session-event.test.js
parent493441f57b304b298c1869e09875a27ba6a4a438 (diff)
downloadastro-9c8a7c0b09db2fb6925929d4efe01d5ececbf08e.tar.gz
astro-9c8a7c0b09db2fb6925929d4efe01d5ececbf08e.tar.zst
astro-9c8a7c0b09db2fb6925929d4efe01d5ececbf08e.zip
fix(@astrojs/telemetry): add optional integrations field (#3614)
* fix: filter out falsy integration from telemetry Falsy integrations are now ignored in `@astrojs/telemetry` This error should no longer occur, ```ts error Cannot read properties of null (reading 'name') at file:///workspaces/bundle/node_modules/.pnpm/@astrojs+telemetry@0.1.2/node_modules/@astrojs/telemetry/dist/events/session.js:53:117 ... ``` * ci: add tests for optional integrations * ci: add changeset * fix(@astrojs/telemetry): count number of optional integrations in use * ci: add test for counting the total number of optional integrations in use * ci: update changeset * chore: make the changes @tony-sull sugested * revert(@astrojs/webapi): mod.d.ts -> a4c78b5: [ci] format * ci: remove `@astrojs/webapi` patch change * chore(@astrojs/telemetry): remove totalIntegrations payload field * fix(@astrojs/telemetry): add optional integrations field * ci: add changeset
Diffstat (limited to 'packages/telemetry/test/session-event.test.js')
-rw-r--r--packages/telemetry/test/session-event.test.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/telemetry/test/session-event.test.js b/packages/telemetry/test/session-event.test.js
index 70705512f..07b214c30 100644
--- a/packages/telemetry/test/session-event.test.js
+++ b/packages/telemetry/test/session-event.test.js
@@ -411,6 +411,48 @@ describe('Session event', () => {
});
});
+ describe('config.integrations + optionalIntegrations', () => {
+ it('optional/conditional integrations', () => {
+ const config = {
+ srcDir: 1,
+ integrations: [
+ null,
+ undefined,
+ { name: "example-integration" }
+ ]
+ };
+ const [{ payload }] = events.eventCliSession(
+ {
+ cliCommand: 'dev',
+ astroVersion: '0.0.0',
+ },
+ config
+ );
+ expect(payload.config.integrations).deep.equal(["example-integration"]);
+ expect(payload.optionalIntegrations).to.equal(2);
+ });
+
+ it('falsy integrations', () => {
+ const config = {
+ srcDir: 1,
+ integrations: [
+ null,
+ undefined,
+ false
+ ]
+ };
+ const [{ payload }] = events.eventCliSession(
+ {
+ cliCommand: 'dev',
+ astroVersion: '0.0.0',
+ },
+ config
+ );
+ expect(payload.config.integrations.length).to.equal(0);
+ expect(payload.optionalIntegrations).to.equal(3);
+ });
+ });
+
describe('flags', () => {
it('includes cli flags in payload', () => {
const config = {};