gitlab-org--gitlab-foss/spec/javascripts/right_sidebar_spec.js.coffee

70 lines
1.7 KiB
CoffeeScript

#= require right_sidebar
#= require jquery
#= require jquery.cookie
@sidebar = null
$aside = null
$toggle = null
$icon = null
$page = null
$labelsIcon = null
assertSidebarState = (state) ->
shouldBeExpanded = state is 'expanded'
shouldBeCollapsed = state is 'collapsed'
expect($aside.hasClass('right-sidebar-expanded')).toBe shouldBeExpanded
expect($page.hasClass('right-sidebar-expanded')).toBe shouldBeExpanded
expect($icon.hasClass('fa-angle-double-right')).toBe shouldBeExpanded
expect($aside.hasClass('right-sidebar-collapsed')).toBe shouldBeCollapsed
expect($page.hasClass('right-sidebar-collapsed')).toBe shouldBeCollapsed
expect($icon.hasClass('fa-angle-double-left')).toBe shouldBeCollapsed
describe 'RightSidebar', ->
fixture.preload 'right_sidebar.html'
beforeEach ->
fixture.load 'right_sidebar.html'
@sidebar = new Sidebar
$aside = $ '.right-sidebar'
$page = $ '.page-with-sidebar'
$icon = $aside.find 'i'
$toggle = $aside.find '.js-sidebar-toggle'
$labelsIcon = $aside.find '.sidebar-collapsed-icon'
it 'should expand the sidebar when arrow is clicked', ->
$toggle.click()
assertSidebarState 'expanded'
it 'should collapse the sidebar when arrow is clicked', ->
$toggle.click()
assertSidebarState 'expanded'
$toggle.click()
assertSidebarState 'collapsed'
it 'should float over the page and when sidebar icons clicked', ->
$labelsIcon.click()
assertSidebarState 'expanded'
it 'should collapse when the icon arrow clicked while it is floating on page', ->
$labelsIcon.click()
assertSidebarState 'expanded'
$toggle.click()
assertSidebarState 'collapsed'