import * as domHelper from '~/image_diff/helpers/dom_helper'; describe('domHelper', () => { describe('setPositionDataAttribute', () => { let containerEl; let attributeAfterCall; const position = { myProperty: 'myProperty', }; const options = { x: 0, y: 1, width: 10, height: 11, }; beforeEach(() => { containerEl = document.createElement('div'); containerEl.dataset.position = JSON.stringify(position); domHelper.setPositionDataAttribute(containerEl, options); attributeAfterCall = JSON.parse(containerEl.dataset.position); }); it('should set x, y, width, height', () => { expect(attributeAfterCall.x_axis).toEqual(options.x); expect(attributeAfterCall.y_axis).toEqual(options.y); expect(attributeAfterCall.width).toEqual(options.width); expect(attributeAfterCall.height).toEqual(options.height); }); it('should not override other properties', () => { expect(attributeAfterCall.myProperty).toEqual('myProperty'); }); }); describe('updateDiscussionAvatarBadgeNumber', () => { let discussionEl; const badgeNumber = 1; beforeEach(() => { discussionEl = document.createElement('div'); discussionEl.innerHTML = ` `; domHelper.updateDiscussionAvatarBadgeNumber(discussionEl, badgeNumber); }); it('should update avatar badge number', () => { expect(discussionEl.querySelector('.badge').innerText).toEqual(badgeNumber.toString()); }); }); describe('updateDiscussionBadgeNumber', () => { let discussionEl; const badgeNumber = 1; beforeEach(() => { discussionEl = document.createElement('div'); discussionEl.innerHTML = `
`; domHelper.updateDiscussionBadgeNumber(discussionEl, badgeNumber); }); it('should update discussion badge number', () => { expect(discussionEl.querySelector('.badge').innerText).toEqual(badgeNumber.toString()); }); }); describe('toggleCollapsed', () => { let element; let discussionNotesEl; beforeEach(() => { element = document.createElement('div'); element.innerHTML = `