diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-18 19:00:14 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-18 19:00:14 +0000 |
commit | 05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2 (patch) | |
tree | 11d0f2a6ec31c7793c184106cedc2ded3d9a2cc5 /spec/frontend/read_more_spec.js | |
parent | ec73467c23693d0db63a797d10194da9e72a74af (diff) | |
download | gitlab-ce-05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2.tar.gz |
Add latest changes from gitlab-org/gitlab@15-8-stable-eev15.8.0-rc42
Diffstat (limited to 'spec/frontend/read_more_spec.js')
-rw-r--r-- | spec/frontend/read_more_spec.js | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/spec/frontend/read_more_spec.js b/spec/frontend/read_more_spec.js index 80d7c941660..9eddc50d50a 100644 --- a/spec/frontend/read_more_spec.js +++ b/spec/frontend/read_more_spec.js @@ -1,21 +1,23 @@ -import { loadHTMLFixture, resetHTMLFixture } from 'helpers/fixtures'; +import { loadHTMLFixture, resetHTMLFixture, setHTMLFixture } from 'helpers/fixtures'; import initReadMore from '~/read_more'; describe('Read more click-to-expand functionality', () => { const fixtureName = 'projects/overview.html'; - beforeEach(() => { - loadHTMLFixture(fixtureName); - }); + const findTrigger = () => document.querySelector('.js-read-more-trigger'); afterEach(() => { resetHTMLFixture(); }); describe('expands target element', () => { + beforeEach(() => { + loadHTMLFixture(fixtureName); + }); + it('adds "is-expanded" class to target element', () => { const target = document.querySelector('.read-more-container'); - const trigger = document.querySelector('.js-read-more-trigger'); + const trigger = findTrigger(); initReadMore(); trigger.click(); @@ -23,4 +25,25 @@ describe('Read more click-to-expand functionality', () => { expect(target.classList.contains('is-expanded')).toEqual(true); }); }); + + describe('given click on nested element', () => { + beforeEach(() => { + setHTMLFixture(` + <p>Target</p> + <button type="button" class="js-read-more-trigger"> + <span>Button text</span> + </button> + `); + + const trigger = findTrigger(); + const nestedElement = trigger.firstElementChild; + initReadMore(); + + nestedElement.click(); + }); + + it('removes the trigger element', async () => { + expect(findTrigger()).toBe(null); + }); + }); }); |