diff --git a/packages/components/src/components/tooltip/tooltip.e2e.ts b/packages/components/src/components/tooltip/tooltip.e2e.ts
new file mode 100644
index 0000000000..be464c555b
--- /dev/null
+++ b/packages/components/src/components/tooltip/tooltip.e2e.ts
@@ -0,0 +1,51 @@
+/**
+ * @license
+ * Scale https://github.com/telekom/scale
+ *
+ * Copyright (c) 2021 Egor Kirpichev and contributors, Deutsche Telekom AG
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
+ */
+
+import { newE2EPage } from '@stencil/core/testing';
+
+describe('scale-tooltip', () => {
+ it('keeps a bottom tooltip horizontally centered on an icon trigger near the viewport edge', async () => {
+ const page = await newE2EPage();
+ await page.setViewport({ width: 320, height: 240 });
+ await page.setContent(`
+
+ Issue #2289 – tooltip placement:
+ The pre-opened tooltip on row 2 uses
+ placement="bottom" with a
+ single-element icon trigger
+ (<scale-icon-process-sepa-transaction>).
+ For a single inline element the tooltip anchor is correct because
+ getBoundingClientRect() returns one box.
+ The bug manifests when the trigger is a
+ multiline inline text span: the tooltip uses the full
+ combined box instead of the line box under the cursor. See
+ bills-data-grid-multiline-repro.html (vanilla example) for
+ the failing case.
+
+
+
+
+
Tooltip placement – single icon trigger
+
+
+ This example keeps the trigger as a single SEPA icon near the viewport
+ edge. Before the fix, shift({ crossAxis: true }) moved the
+ tooltip horizontally so it appeared beside the icon instead of pointing
+ at it.
+