[ntp-composebox] Add test for composebox entrypoint
This Cl simply adds tests for the composebox entrypoint. The first test
is to ensure that users don't see the entrypoint unless the flag is
enabled, and the other is to verify that once the button is clicked,
the appropriate event is emitted.
Bug: 421165591
Change-Id: I350af9b4c09ae23cf891209bf28a0542777ad40b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6611281
Reviewed-by: Marlon Facey <mfacey@chromium.org>
Commit-Queue: Ananya Seelam <ananyaseelam@google.com>
Cr-Commit-Position: refs/heads/main@{#1468296}
diff --git a/chrome/test/data/webui/cr_components/searchbox/searchbox_test.ts b/chrome/test/data/webui/cr_components/searchbox/searchbox_test.ts
index ed8324b..ee93227 100644
--- a/chrome/test/data/webui/cr_components/searchbox/searchbox_test.ts
+++ b/chrome/test/data/webui/cr_components/searchbox/searchbox_test.ts
@@ -297,6 +297,42 @@
loadTimeData.overrideValues({searchboxCr23Theming: false});
});
+ test('Compose button is not enabled by default.', async () => {
+ // Arrange.
+ document.body.innerHTML = window.trustedTypes!.emptyHTML;
+ realbox = document.createElement('cr-searchbox');
+ document.body.appendChild(realbox);
+ await waitAfterNextRender(realbox);
+
+ // Assert.
+ const composeButton =
+ realbox.shadowRoot!.querySelector<HTMLElement>('#composeButton');
+ assertFalse(!!composeButton);
+ });
+
+ test('clicking composebox entrypoint button emits an event.', async () => {
+ // Arrange.
+ loadTimeData.overrideValues({searchboxShowComposeButton: true});
+ document.body.innerHTML = window.trustedTypes!.emptyHTML;
+ realbox = document.createElement('cr-searchbox');
+ document.body.appendChild(realbox);
+ await waitAfterNextRender(realbox);
+
+ const whenOpenComposeBox = eventToPromise('open-compose-box', realbox);
+
+ // Act.
+ const composeButton =
+ realbox.shadowRoot!.querySelector<HTMLElement>('#composeButton');
+ assertTrue(!!composeButton);
+ composeButton.click();
+
+ // Assert.
+ await whenOpenComposeBox;
+
+ // Restore.
+ loadTimeData.overrideValues({searchboxShowComposeButton: false});
+ });
+
//============================================================================
// Test Querying Autocomplete
//============================================================================