47 lines
1.4 KiB
CoffeeScript
47 lines
1.4 KiB
CoffeeScript
|
#= require select2
|
||
|
#= require api
|
||
|
#= require project_select
|
||
|
#= require project
|
||
|
|
||
|
window.gon = {}
|
||
|
window.gon.api_version = 'v3'
|
||
|
|
||
|
describe 'Project Title', ->
|
||
|
fixture.preload('project_title.html')
|
||
|
fixture.preload('projects.json')
|
||
|
|
||
|
beforeEach ->
|
||
|
fixture.load('project_title.html')
|
||
|
@project = new Project()
|
||
|
|
||
|
spyOn(@project, 'changeProject').and.callFake (url) ->
|
||
|
window.current_project_url = url
|
||
|
|
||
|
describe 'project list', ->
|
||
|
beforeEach =>
|
||
|
@projects_data = fixture.load('projects.json')[0]
|
||
|
|
||
|
spyOn(jQuery, 'ajax').and.callFake (req) =>
|
||
|
expect(req.url).toBe('/api/v3/projects.json')
|
||
|
d = $.Deferred()
|
||
|
d.resolve @projects_data
|
||
|
d.promise()
|
||
|
|
||
|
it 'to show on toggle click', =>
|
||
|
$('.js-projects-dropdown-toggle').click()
|
||
|
|
||
|
expect($('.title .select2-container').hasClass('select2-dropdown-open')).toBe(true)
|
||
|
expect($('.ajax-project-dropdown li').length).toBe(@projects_data.length)
|
||
|
|
||
|
it 'hide dropdown', ->
|
||
|
$("#select2-drop-mask").click()
|
||
|
|
||
|
expect($('.title .select2-container').hasClass('select2-dropdown-open')).toBe(false)
|
||
|
|
||
|
it 'change project when clicking item', ->
|
||
|
$('.js-projects-dropdown-toggle').click()
|
||
|
$('.ajax-project-dropdown li:nth-child(2)').trigger('mouseup')
|
||
|
|
||
|
expect($('.title .select2-container').hasClass('select2-dropdown-open')).toBe(false)
|
||
|
expect(window.current_project_url).toBe('http://localhost:3000/h5bp/html5-boilerplate')
|