BigW Consortium Gitlab

labels.rb 2.78 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
class Spinach::Features::AdminIssuesLabels < Spinach::FeatureSteps
  include SharedAuthentication
  include SharedProject
  include SharedPaths

  step 'I visit \'bug\' label edit page' do
    visit edit_admin_label_path(bug_label)
  end

  step 'I visit admin new label page' do
    visit new_admin_label_path
  end

  step 'I visit admin labels page' do
    visit admin_labels_path
  end

  step 'I remove label \'bug\'' do
    page.within "#label_#{bug_label.id}" do
20
      click_link 'Delete'
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
    end
  end

  step 'I have labels: "bug", "feature", "enhancement"' do
    ["bug", "feature", "enhancement"].each do |title|
      Label.create(title: title, template: true)
    end
  end

  step 'I delete all labels' do
    page.within '.labels' do
      page.all('.btn-remove').each do |remove|
        remove.click
        sleep 0.05
      end
    end
  end

  step 'I should see labels help message' do
    page.within '.labels' do
41
      expect(page).to have_content 'There are no labels yet'
42 43 44 45 46 47
    end
  end

  step 'I submit new label \'support\'' do
    visit new_admin_label_path
    fill_in 'Title', with: 'support'
48
    fill_in 'Background color', with: '#F95610'
49 50 51 52 53 54
    click_button 'Save'
  end

  step 'I submit new label \'bug\'' do
    visit new_admin_label_path
    fill_in 'Title', with: 'bug'
55
    fill_in 'Background color', with: '#F95610'
56 57 58 59 60 61
    click_button 'Save'
  end

  step 'I submit new label with invalid color' do
    visit new_admin_label_path
    fill_in 'Title', with: 'support'
62
    fill_in 'Background color', with: '#12'
63 64 65 66 67 68 69 70 71 72 73
    click_button 'Save'
  end

  step 'I should see label exist error message' do
    page.within '.label-form' do
      expect(page).to have_content 'Title has already been taken'
    end
  end

  step 'I should see label color error message' do
    page.within '.label-form' do
74
      expect(page).to have_content 'Color must be a valid color code'
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
    end
  end

  step 'I should see label \'feature\'' do
    page.within '.manage-labels-list' do
      expect(page).to have_content 'feature'
    end
  end

  step 'I should see label \'bug\'' do
    page.within '.manage-labels-list' do
      expect(page).to have_content 'bug'
    end
  end

  step 'I should not see label \'bug\'' do
    page.within '.manage-labels-list' do
      expect(page).not_to have_content 'bug'
    end
  end

  step 'I should see label \'support\'' do
    page.within '.manage-labels-list' do
      expect(page).to have_content 'support'
    end
  end

  step 'I change label \'bug\' to \'fix\'' do
    fill_in 'Title', with: 'fix'
104
    fill_in 'Background color', with: '#F15610'
105 106 107 108 109 110 111 112 113 114 115 116 117
    click_button 'Save'
  end

  step 'I should see label \'fix\'' do
    page.within '.manage-labels-list' do
      expect(page).to have_content 'fix'
    end
  end

  def bug_label
    Label.templates.find_or_create_by(title: 'bug')
  end
end