boards_spec.rb 18.9 KB
Newer Older
P
Phil Hughes 已提交
1 2 3
require 'rails_helper'

describe 'Issue Boards', feature: true, js: true do
4 5
  include WaitForAjax

6 7 8
  let(:project) { create(:empty_project) }
  let(:user)    { create(:user) }
  let!(:user2)  { create(:user) }
P
Phil Hughes 已提交
9 10

  before do
11 12 13
    project.create_board
    project.board.lists.create(list_type: :backlog)
    project.board.lists.create(list_type: :done)
14

P
Phil Hughes 已提交
15
    project.team << [user, :master]
P
Phil Hughes 已提交
16
    project.team << [user2, :master]
17

P
Phil Hughes 已提交
18 19 20
    login_as(user)
  end

P
Phil Hughes 已提交
21 22 23
  context 'no lists' do
    before do
      visit namespace_project_board_path(project.namespace, project)
P
Phil Hughes 已提交
24 25
      wait_for_vue_resource
      expect(page).to have_selector('.board', count: 3)
P
Phil Hughes 已提交
26
    end
P
Phil Hughes 已提交
27

P
Phil Hughes 已提交
28 29
    it 'shows blank state' do
      expect(page).to have_content('Welcome to your Issue Board!')
P
Phil Hughes 已提交
30 31
    end

32
    it 'hides the blank state when clicking nevermind button' do
P
Phil Hughes 已提交
33
      page.within(find('.board-blank-state')) do
P
Phil Hughes 已提交
34
        click_button("Nevermind, I'll use my own")
P
Phil Hughes 已提交
35 36
      end
      expect(page).to have_selector('.board', count: 2)
P
Phil Hughes 已提交
37 38
    end

P
Phil Hughes 已提交
39 40
    it 'creates default lists' do
      lists = ['Backlog', 'Development', 'Testing', 'Production', 'Ready', 'Done']
P
Phil Hughes 已提交
41

P
Phil Hughes 已提交
42
      page.within(find('.board-blank-state')) do
P
Phil Hughes 已提交
43 44
        click_button('Add default lists')
      end
P
Phil Hughes 已提交
45 46
      wait_for_vue_resource

P
Phil Hughes 已提交
47 48 49 50 51 52
      expect(page).to have_selector('.board', count: 6)

      page.all('.board').each_with_index do |list, i|
        expect(list.find('.board-title')).to have_content(lists[i])
      end
    end
P
Phil Hughes 已提交
53 54
  end

P
Phil Hughes 已提交
55
  context 'with lists' do
56
    let(:milestone) { create(:milestone, project: project) }
P
Phil Hughes 已提交
57

P
Phil Hughes 已提交
58 59 60
    let(:planning)    { create(:label, project: project, name: 'Planning') }
    let(:development) { create(:label, project: project, name: 'Development') }
    let(:testing)     { create(:label, project: project, name: 'Testing') }
P
Phil Hughes 已提交
61
    let(:bug)         { create(:label, project: project, name: 'Bug') }
62 63
    let!(:backlog)    { create(:label, project: project, name: 'Backlog') }
    let!(:done)       { create(:label, project: project, name: 'Done') }
P
Phil Hughes 已提交
64 65 66 67

    let!(:list1) { create(:list, board: project.board, label: planning, position: 0) }
    let!(:list2) { create(:list, board: project.board, label: development, position: 1) }

68 69 70 71 72
    let!(:confidential_issue) { create(:issue, :confidential, project: project, author: user) }
    let!(:issue1) { create(:issue, project: project, assignee: user) }
    let!(:issue2) { create(:issue, project: project, author: user2) }
    let!(:issue3) { create(:issue, project: project) }
    let!(:issue4) { create(:issue, project: project) }
P
Phil Hughes 已提交
73
    let!(:issue5) { create(:labeled_issue, project: project, labels: [planning], milestone: milestone) }
74 75
    let!(:issue6) { create(:labeled_issue, project: project, labels: [planning, development]) }
    let!(:issue7) { create(:labeled_issue, project: project, labels: [development]) }
76
    let!(:issue8) { create(:closed_issue, project: project) }
77
    let!(:issue9) { create(:labeled_issue, project: project, labels: [testing, bug]) }
P
Phil Hughes 已提交
78 79 80 81

    before do
      visit namespace_project_board_path(project.namespace, project)

P
Phil Hughes 已提交
82
      wait_for_vue_resource
P
Phil Hughes 已提交
83 84

      expect(page).to have_selector('.board', count: 4)
85 86 87 88
      expect(find('.board:nth-child(1)')).to have_selector('.card')
      expect(find('.board:nth-child(2)')).to have_selector('.card')
      expect(find('.board:nth-child(3)')).to have_selector('.card')
      expect(find('.board:nth-child(4)')).to have_selector('.card')
P
Phil Hughes 已提交
89 90 91 92 93 94 95
    end

    it 'shows lists' do
      expect(page).to have_selector('.board', count: 4)
    end

    it 'shows issues in lists' do
P
Phil Hughes 已提交
96
      page.within(find('.board:nth-child(2)')) do
97 98
        expect(page.find('.board-header')).to have_content('2')
        expect(page).to have_selector('.card', count: 2)
P
Phil Hughes 已提交
99
      end
P
Phil Hughes 已提交
100

P
Phil Hughes 已提交
101
      page.within(find('.board:nth-child(3)')) do
P
Phil Hughes 已提交
102 103 104 105
        expect(page.find('.board-header')).to have_content('2')
        expect(page).to have_selector('.card', count: 2)
      end
    end
P
Phil Hughes 已提交
106

P
Phil Hughes 已提交
107
    it 'shows confidential issues with icon' do
P
Phil Hughes 已提交
108
      page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
109 110 111 112
        expect(page).to have_selector('.confidential-icon', count: 1)
      end
    end

P
Phil Hughes 已提交
113
    it 'allows user to delete board' do
P
Phil Hughes 已提交
114
      page.within(find('.board:nth-child(2)')) do
P
Phil Hughes 已提交
115
        find('.board-delete').click
P
Phil Hughes 已提交
116
      end
P
Phil Hughes 已提交
117 118 119

      wait_for_vue_resource

P
Phil Hughes 已提交
120
      expect(page).to have_selector('.board', count: 3)
P
Phil Hughes 已提交
121 122
    end

123 124 125 126
    it 'removes checkmark in new list dropdown after deleting' do
      click_button 'Create new list'
      wait_for_ajax

P
Phil Hughes 已提交
127
      page.within(find('.board:nth-child(2)')) do
128 129
        find('.board-delete').click
      end
130

P
Phil Hughes 已提交
131
      wait_for_vue_resource
132

133
      expect(page).to have_selector('.board', count: 3)
134 135 136
      expect(find(".js-board-list-#{planning.id}", visible: false)).not_to have_css('.is-active')
    end

137 138
    it 'infinite scrolls list' do
      50.times do
139
        create(:issue, project: project)
140 141 142
      end

      visit namespace_project_board_path(project.namespace, project)
P
Phil Hughes 已提交
143
      wait_for_vue_resource
144

P
Phil Hughes 已提交
145
      page.within(find('.board', match: :first)) do
146 147 148 149 150 151 152 153 154 155
        expect(page.find('.board-header')).to have_content('20')
        expect(page).to have_selector('.card', count: 20)

        evaluate_script("document.querySelectorAll('.board .board-list')[0].scrollTop = document.querySelectorAll('.board .board-list')[0].scrollHeight")

        expect(page.find('.board-header')).to have_content('40')
        expect(page).to have_selector('.card', count: 40)
      end
    end

P
Phil Hughes 已提交
156 157
    context 'backlog' do
      it 'shows issues in backlog with no labels' do
P
Phil Hughes 已提交
158
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
159 160
          expect(page.find('.board-header')).to have_content('6')
          expect(page).to have_selector('.card', count: 6)
P
Phil Hughes 已提交
161 162 163 164
        end
      end

      it 'is searchable' do
P
Phil Hughes 已提交
165
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
166 167 168 169 170 171 172
          find('.form-control').set issue1.title

          expect(page).to have_selector('.card', count: 1)
        end
      end

      it 'clears search' do
P
Phil Hughes 已提交
173
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
174 175 176 177 178 179
          find('.form-control').set issue1.title

          expect(page).to have_selector('.card', count: 1)

          find('.board-search-clear-btn').click

P
Phil Hughes 已提交
180
          expect(page).to have_selector('.card', count: 6)
P
Phil Hughes 已提交
181 182 183 184 185
        end
      end

      it 'moves issue from backlog into list' do
        drag_to(list_to_index: 1)
P
Phil Hughes 已提交
186

P
Phil Hughes 已提交
187
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
188 189
          expect(page.find('.board-header')).to have_content('5')
          expect(page).to have_selector('.card', count: 5)
P
Phil Hughes 已提交
190
        end
P
Phil Hughes 已提交
191

P
Phil Hughes 已提交
192
        page.within(find('.board:nth-child(2)')) do
193 194
          expect(page.find('.board-header')).to have_content('3')
          expect(page).to have_selector('.card', count: 3)
P
Phil Hughes 已提交
195
        end
P
Phil Hughes 已提交
196 197 198
      end
    end

P
Phil Hughes 已提交
199 200
    context 'done' do
      it 'shows list of done issues' do
P
Phil Hughes 已提交
201
        expect(find('.board:nth-child(4)')).to have_selector('.card', count: 1)
P
Phil Hughes 已提交
202 203 204 205 206
      end

      it 'moves issue to done' do
        drag_to(list_from_index: 0, list_to_index: 3)

P
Phil Hughes 已提交
207 208 209
        expect(find('.board:nth-child(4)')).to have_selector('.card', count: 2)
        expect(find('.board:nth-child(4)')).to have_content(issue9.title)
        expect(find('.board:nth-child(4)')).not_to have_content(planning.title)
P
Phil Hughes 已提交
210 211 212 213 214
      end

      it 'removes all of the same issue to done' do
        drag_to(list_from_index: 1, list_to_index: 3)

P
Phil Hughes 已提交
215 216 217 218
        expect(find('.board:nth-child(2)')).to have_selector('.card', count: 1)
        expect(find('.board:nth-child(3)')).to have_selector('.card', count: 1)
        expect(find('.board:nth-child(4)')).to have_content(issue6.title)
        expect(find('.board:nth-child(4)')).not_to have_content(planning.title)
P
Phil Hughes 已提交
219 220 221 222
      end
    end

    context 'lists' do
P
Phil Hughes 已提交
223
      it 'changes position of list' do
P
Phil Hughes 已提交
224
        drag_to(list_from_index: 1, list_to_index: 2, selector: '.board-header')
P
Phil Hughes 已提交
225

P
Phil Hughes 已提交
226 227
        expect(find('.board:nth-child(2)')).to have_content(development.title)
        expect(find('.board:nth-child(2)')).to have_content(planning.title)
P
Phil Hughes 已提交
228 229
      end

P
Phil Hughes 已提交
230
      it 'issue moves between lists' do
231
        drag_to(list_from_index: 1, card_index: 1, list_to_index: 2)
P
Phil Hughes 已提交
232

P
Phil Hughes 已提交
233 234 235 236
        expect(find('.board:nth-child(2)')).to have_selector('.card', count: 1)
        expect(find('.board:nth-child(3)')).to have_selector('.card', count: 3)
        expect(find('.board:nth-child(3)')).to have_content(issue6.title)
        expect(find('.board:nth-child(3)').all('.card').last).not_to have_content(development.title)
P
Phil Hughes 已提交
237 238
      end

P
Phil Hughes 已提交
239
      it 'issue moves between lists' do
P
Phil Hughes 已提交
240 241
        drag_to(list_from_index: 2, list_to_index: 1)

P
Phil Hughes 已提交
242 243 244 245
        expect(find('.board:nth-child(2)')).to have_selector('.card', count: 3)
        expect(find('.board:nth-child(3)')).to have_selector('.card', count: 1)
        expect(find('.board:nth-child(2)')).to have_content(issue7.title)
        expect(find('.board:nth-child(2)').all('.card').first).not_to have_content(planning.title)
P
Phil Hughes 已提交
246 247
      end

P
Phil Hughes 已提交
248
      it 'issue moves from done' do
P
Phil Hughes 已提交
249 250
        drag_to(list_from_index: 3, list_to_index: 1)

P
Phil Hughes 已提交
251 252
        expect(find('.board:nth-child(2)')).to have_selector('.card', count: 3)
        expect(find('.board:nth-child(2)')).to have_content(issue8.title)
P
Phil Hughes 已提交
253 254 255 256
      end

      context 'issue card' do
        it 'shows assignee' do
P
Phil Hughes 已提交
257
          page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
258
            expect(page).to have_selector('.avatar', count: 1)
P
Phil Hughes 已提交
259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280
          end
        end
      end

      context 'new list' do
        it 'shows all labels in new list dropdown' do
          click_button 'Create new list'

          page.within('.dropdown-menu-issues-board-new') do
            expect(page).to have_content(planning.title)
            expect(page).to have_content(development.title)
            expect(page).to have_content(testing.title)
          end
        end

        it 'creates new list for label' do
          click_button 'Create new list'

          page.within('.dropdown-menu-issues-board-new') do
            click_link testing.title
          end

281 282
          wait_for_vue_resource

P
Phil Hughes 已提交
283 284 285
          expect(page).to have_selector('.board', count: 5)
        end

286 287 288 289 290 291 292
        it 'creates new list for Backlog label' do
          click_button 'Create new list'

          page.within('.dropdown-menu-issues-board-new') do
            click_link backlog.title
          end

293 294
          wait_for_vue_resource

295 296 297 298 299 300 301 302 303 304
          expect(page).to have_selector('.board', count: 5)
        end

        it 'creates new list for Done label' do
          click_button 'Create new list'

          page.within('.dropdown-menu-issues-board-new') do
            click_link done.title
          end

305 306
          wait_for_vue_resource

307 308 309
          expect(page).to have_selector('.board', count: 5)
        end

P
Phil Hughes 已提交
310
        it 'moves issues from backlog into new list' do
P
Phil Hughes 已提交
311
          page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
312 313
            expect(page.find('.board-header')).to have_content('6')
            expect(page).to have_selector('.card', count: 6)
P
Phil Hughes 已提交
314 315 316 317 318 319 320 321
          end

          click_button 'Create new list'

          page.within('.dropdown-menu-issues-board-new') do
            click_link testing.title
          end

322 323
          wait_for_vue_resource

P
Phil Hughes 已提交
324
          page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
325 326
            expect(page.find('.board-header')).to have_content('5')
            expect(page).to have_selector('.card', count: 5)
P
Phil Hughes 已提交
327 328 329 330 331 332
          end
        end
      end
    end

    context 'filtering' do
P
Phil Hughes 已提交
333 334 335 336 337 338 339
      it 'filters by author' do
        page.within '.issues-filters' do
          click_button('Author')

          page.within '.dropdown-menu-author' do
            click_link(user2.name)
          end
P
Phil Hughes 已提交
340
          wait_for_vue_resource(spinner: false)
P
Phil Hughes 已提交
341 342 343 344

          expect(find('.js-author-search')).to have_content(user2.name)
        end

P
Phil Hughes 已提交
345 346
        wait_for_vue_resource

P
Phil Hughes 已提交
347
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
348 349 350 351
          expect(page.find('.board-header')).to have_content('1')
          expect(page).to have_selector('.card', count: 1)
        end

P
Phil Hughes 已提交
352
        page.within(find('.board:nth-child(2)')) do
P
Phil Hughes 已提交
353 354 355 356 357 358 359 360 361 362 363 364
          expect(page.find('.board-header')).to have_content('0')
          expect(page).to have_selector('.card', count: 0)
        end
      end

      it 'filters by assignee' do
        page.within '.issues-filters' do
          click_button('Assignee')

          page.within '.dropdown-menu-assignee' do
            click_link(user.name)
          end
P
Phil Hughes 已提交
365
          wait_for_vue_resource(spinner: false)
P
Phil Hughes 已提交
366 367 368 369

          expect(find('.js-assignee-search')).to have_content(user.name)
        end

P
Phil Hughes 已提交
370 371
        wait_for_vue_resource

P
Phil Hughes 已提交
372
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
373 374 375 376
          expect(page.find('.board-header')).to have_content('1')
          expect(page).to have_selector('.card', count: 1)
        end

P
Phil Hughes 已提交
377
        page.within(find('.board:nth-child(2)')) do
P
Phil Hughes 已提交
378 379 380 381 382 383 384
          expect(page.find('.board-header')).to have_content('0')
          expect(page).to have_selector('.card', count: 0)
        end
      end

      it 'filters by milestone' do
        page.within '.issues-filters' do
385
          click_button('Milestone')
P
Phil Hughes 已提交
386 387 388 389

          page.within '.milestone-filter' do
            click_link(milestone.title)
          end
P
Phil Hughes 已提交
390
          wait_for_vue_resource(spinner: false)
P
Phil Hughes 已提交
391 392 393 394

          expect(find('.js-milestone-select')).to have_content(milestone.title)
        end

P
Phil Hughes 已提交
395 396
        wait_for_vue_resource

P
Phil Hughes 已提交
397
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
398 399 400 401
          expect(page.find('.board-header')).to have_content('0')
          expect(page).to have_selector('.card', count: 0)
        end

P
Phil Hughes 已提交
402
        page.within(find('.board:nth-child(2)')) do
P
Phil Hughes 已提交
403 404 405 406 407 408 409 410 411 412 413
          expect(page.find('.board-header')).to have_content('1')
          expect(page).to have_selector('.card', count: 1)
        end
      end

      it 'filters by label' do
        page.within '.issues-filters' do
          click_button('Label')

          page.within '.dropdown-menu-labels' do
            click_link(testing.title)
P
Phil Hughes 已提交
414
            wait_for_vue_resource(spinner: false)
P
Phil Hughes 已提交
415 416 417 418
            find('.dropdown-menu-close').click
          end
        end

P
Phil Hughes 已提交
419 420
        wait_for_vue_resource

P
Phil Hughes 已提交
421
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
422 423 424 425
          expect(page.find('.board-header')).to have_content('1')
          expect(page).to have_selector('.card', count: 1)
        end

P
Phil Hughes 已提交
426
        page.within(find('.board:nth-child(2)')) do
P
Phil Hughes 已提交
427 428 429 430 431
          expect(page.find('.board-header')).to have_content('0')
          expect(page).to have_selector('.card', count: 0)
        end
      end

432 433
      it 'infinite scrolls list with label filter' do
        50.times do
434
          create(:labeled_issue, project: project, labels: [testing])
435 436 437 438 439 440 441
        end

        page.within '.issues-filters' do
          click_button('Label')

          page.within '.dropdown-menu-labels' do
            click_link(testing.title)
P
Phil Hughes 已提交
442
            wait_for_vue_resource(spinner: false)
443 444 445 446
            find('.dropdown-menu-close').click
          end
        end

P
Phil Hughes 已提交
447 448
        wait_for_vue_resource

P
Phil Hughes 已提交
449
        page.within(find('.board', match: :first)) do
450 451 452 453 454 455 456 457 458 459
          expect(page.find('.board-header')).to have_content('20')
          expect(page).to have_selector('.card', count: 20)

          evaluate_script("document.querySelectorAll('.board .board-list')[0].scrollTop = document.querySelectorAll('.board .board-list')[0].scrollHeight")

          expect(page.find('.board-header')).to have_content('40')
          expect(page).to have_selector('.card', count: 40)
        end
      end

P
Phil Hughes 已提交
460 461 462 463 464 465
      it 'filters by multiple labels' do
        page.within '.issues-filters' do
          click_button('Label')

          page.within '.dropdown-menu-labels' do
            click_link(testing.title)
P
Phil Hughes 已提交
466
            wait_for_vue_resource(spinner: false)
P
Phil Hughes 已提交
467
            click_link(bug.title)
P
Phil Hughes 已提交
468
            wait_for_vue_resource(spinner: false)
P
Phil Hughes 已提交
469 470 471 472
            find('.dropdown-menu-close').click
          end
        end

P
Phil Hughes 已提交
473 474
        wait_for_vue_resource

P
Phil Hughes 已提交
475
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
476 477
          expect(page.find('.board-header')).to have_content('1')
          expect(page).to have_selector('.card', count: 1)
P
Phil Hughes 已提交
478 479
        end

P
Phil Hughes 已提交
480
        page.within(find('.board:nth-child(2)')) do
P
Phil Hughes 已提交
481 482 483 484 485 486 487 488
          expect(page.find('.board-header')).to have_content('0')
          expect(page).to have_selector('.card', count: 0)
        end
      end

      it 'filters by no label' do
        page.within '.issues-filters' do
          click_button('Label')
P
Phil Hughes 已提交
489

P
Phil Hughes 已提交
490 491
          page.within '.dropdown-menu-labels' do
            click_link("No Label")
P
Phil Hughes 已提交
492
            wait_for_vue_resource(spinner: false)
P
Phil Hughes 已提交
493 494 495 496
            find('.dropdown-menu-close').click
          end
        end

P
Phil Hughes 已提交
497 498
        wait_for_vue_resource

P
Phil Hughes 已提交
499
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
500 501
          expect(page.find('.board-header')).to have_content('5')
          expect(page).to have_selector('.card', count: 5)
P
Phil Hughes 已提交
502 503
        end

P
Phil Hughes 已提交
504
        page.within(find('.board:nth-child(2)')) do
P
Phil Hughes 已提交
505 506 507 508
          expect(page.find('.board-header')).to have_content('0')
          expect(page).to have_selector('.card', count: 0)
        end
      end
509 510 511 512 513 514 515

      it 'filters by clicking label button on issue' do
        page.within '.issues-filters' do
          click_button('Label')

          page.within '.dropdown-menu-labels' do
            click_link(bug.title)
P
Phil Hughes 已提交
516
            wait_for_vue_resource(spinner: false)
517 518 519 520
            find('.dropdown-menu-close').click
          end
        end

P
Phil Hughes 已提交
521 522
        wait_for_vue_resource

P
Phil Hughes 已提交
523
        page.within(find('.board', match: :first)) do
524 525 526 527
          expect(page.find('.board-header')).to have_content('1')
          expect(page).to have_selector('.card', count: 1)
        end

P
Phil Hughes 已提交
528
        page.within(find('.board:nth-child(2)')) do
529 530 531 532
          expect(page.find('.board-header')).to have_content('0')
          expect(page).to have_selector('.card', count: 0)
        end

P
Phil Hughes 已提交
533
        page.within(find('.board', match: :first)) do
P
Phil Hughes 已提交
534
          click_button(bug.title)
P
Phil Hughes 已提交
535
          wait_for_vue_resource(spinner: false)
536

P
Phil Hughes 已提交
537
          expect(page).to have_selector('.card', count: 6)
538 539 540 541 542 543 544 545
        end

        page.within('.labels-filter') do
          expect(find('.dropdown-toggle-text')).not_to have_content(bug.title)
        end
      end

      it 'removes label filter by clicking label button on issue' do
P
Phil Hughes 已提交
546 547
        page.within(find('.board', match: :first)) do
          page.within(find('.card', match: :first)) do
548 549
            click_button(bug.title)
          end
P
Phil Hughes 已提交
550
          wait_for_vue_resource(spinner: false)
551 552 553 554

          expect(page).to have_selector('.card', count: 1)
        end

P
Phil Hughes 已提交
555 556
        wait_for_vue_resource

557 558 559 560
        page.within('.labels-filter') do
          expect(find('.dropdown-toggle-text')).to have_content(bug.title)
        end
      end
P
Phil Hughes 已提交
561 562 563
    end
  end

P
Phil Hughes 已提交
564 565
  def drag_to(list_from_index: 0, card_index: 0, to_index: 0, list_to_index: 0, selector: '.board-list')
    evaluate_script("simulateDrag({scrollable: document.getElementById('board-app'), from: {el: $('#{selector}').eq(#{list_from_index}).get(0), index: #{card_index}}, to: {el: $('.board-list').eq(#{list_to_index}).get(0), index: #{to_index}}});")
566 567 568 569 570 571

    Timeout.timeout(Capybara.default_max_wait_time) do
      loop until page.evaluate_script('window.SIMULATE_DRAG_ACTIVE').zero?
    end

    wait_for_vue_resource
P
Phil Hughes 已提交
572
  end
P
Phil Hughes 已提交
573

P
Phil Hughes 已提交
574
  def wait_for_vue_resource(spinner: true)
575 576 577 578
    Timeout.timeout(Capybara.default_max_wait_time) do
      loop until page.evaluate_script('Vue.activeResources').zero?
    end

P
Phil Hughes 已提交
579 580 581
    if spinner
      expect(find('.boards-list')).not_to have_selector('.fa-spinner')
    end
P
Phil Hughes 已提交
582
  end
P
Phil Hughes 已提交
583
end