Added login/logout support for taskbar. Added browser tests.
This commit is contained in:
parent
949686a369
commit
951b3d1b6a
3 changed files with 132 additions and 4 deletions
|
@ -11,20 +11,19 @@ class App.TaskWidget extends App.Controller
|
||||||
@render()
|
@render()
|
||||||
|
|
||||||
# render view
|
# render view
|
||||||
App.Event.bind 'task:render', (data) =>
|
App.Event.bind 'task:render', =>
|
||||||
@render()
|
@render()
|
||||||
|
|
||||||
# render on login
|
# render on login
|
||||||
App.Event.bind 'auth:login', (user) =>
|
App.Event.bind 'auth:login', =>
|
||||||
@render()
|
@render()
|
||||||
|
|
||||||
# reset current tasks on logout
|
# reset current tasks on logout
|
||||||
App.Event.bind 'auth:logout', =>
|
App.Event.bind 'auth:logout', =>
|
||||||
@el.html('')
|
@el.html('')
|
||||||
App.TaskManager.reset()
|
|
||||||
|
|
||||||
# only do take over check after spool messages are finised
|
# only do take over check after spool messages are finised
|
||||||
App.Event.bind 'spool:sent', (data) =>
|
App.Event.bind 'spool:sent', =>
|
||||||
@spoolSent = true
|
@spoolSent = true
|
||||||
|
|
||||||
# session take over message
|
# session take over message
|
||||||
|
|
|
@ -73,6 +73,21 @@ class _taskManagerSingleton extends App.Controller
|
||||||
@activeTask = undefined
|
@activeTask = undefined
|
||||||
@tasksInitial()
|
@tasksInitial()
|
||||||
|
|
||||||
|
# render on login
|
||||||
|
App.Event.bind 'auth:login', =>
|
||||||
|
@initialLoad = true
|
||||||
|
@all()
|
||||||
|
|
||||||
|
# render on logout
|
||||||
|
App.Event.bind 'auth:logout', =>
|
||||||
|
for task in @all
|
||||||
|
worker = @worker( task.key )
|
||||||
|
if worker && worker.release
|
||||||
|
worker.release()
|
||||||
|
@workersStarted[ task.key ] = false
|
||||||
|
@reset()
|
||||||
|
|
||||||
|
# send updates to server
|
||||||
@interval( @taskUpdateLoop, 2500 )
|
@interval( @taskUpdateLoop, 2500 )
|
||||||
|
|
||||||
all: ->
|
all: ->
|
||||||
|
|
|
@ -83,4 +83,118 @@ class TaskbarTaskTest < TestCase
|
||||||
]
|
]
|
||||||
browser_signle_test_with_login(tests, { :username => 'agent1@example.com' })
|
browser_signle_test_with_login(tests, { :username => 'agent1@example.com' })
|
||||||
end
|
end
|
||||||
|
def test_persistant_task_with_relogin
|
||||||
|
tests = [
|
||||||
|
{
|
||||||
|
:name => 'persistant task',
|
||||||
|
:action => [
|
||||||
|
{
|
||||||
|
:execute => 'wait',
|
||||||
|
:value => 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'close_all_tasks',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'click',
|
||||||
|
:css => 'a[href="#new"]',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'click',
|
||||||
|
:css => 'a[href="#ticket_create/call_inbound"]',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'wait',
|
||||||
|
:value => 3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'set',
|
||||||
|
:css => '.active .ticket_create input[name="subject"]',
|
||||||
|
:value => 'INBOUND TEST#1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'click',
|
||||||
|
:css => 'a[href="#new"]',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'click',
|
||||||
|
:css => 'a[href="#ticket_create/call_outbound"]',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'wait',
|
||||||
|
:value => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'set',
|
||||||
|
:css => '.active .ticket_create input[name="subject"]',
|
||||||
|
:value => 'OUTBOUND TEST#1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'wait',
|
||||||
|
:value => 20,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'click',
|
||||||
|
:css => 'a[href="#current_user"]',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'click',
|
||||||
|
:css => 'a[href="#logout"]',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'wait',
|
||||||
|
:value => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'check',
|
||||||
|
:css => '#login',
|
||||||
|
:result => true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'match',
|
||||||
|
:css => 'body',
|
||||||
|
:value => 'INBOUND TEST#1',
|
||||||
|
:match_result => false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'match',
|
||||||
|
:css => 'body',
|
||||||
|
:value => 'OUTBOUND TEST#1',
|
||||||
|
:match_result => false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'set',
|
||||||
|
:css => 'input[name="username"]',
|
||||||
|
:value => 'agent1@example.com',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'set',
|
||||||
|
:css => 'input[name="password"]',
|
||||||
|
:value => 'test'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'click',
|
||||||
|
:css => '#login button',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'wait',
|
||||||
|
:value => 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'match',
|
||||||
|
:css => 'body',
|
||||||
|
:value => 'INBOUND TEST#1',
|
||||||
|
:match_result => true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'match',
|
||||||
|
:css => 'body',
|
||||||
|
:value => 'OUTBOUND TEST#1',
|
||||||
|
:match_result => true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
browser_signle_test_with_login(tests, { :username => 'agent1@example.com' })
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue