gitlab-org--gitlab-foss/spec/helpers/todos_helper_spec.rb
Robert Speicher f2dee8e855 Test todos_count_format helper at the correct level to improve speed
Instead of an integration test that creates 101 Todo records to test a
simple view helper, just unit test the helper.
2017-06-09 18:23:19 -04:00

36 lines
1.2 KiB
Ruby

require "spec_helper"
describe TodosHelper do
describe '#todos_count_format' do
it 'shows fuzzy count for 100 or more items' do
expect(helper.todos_count_format(100)).to eq '99+'
expect(helper.todos_count_format(1000)).to eq '99+'
end
it 'shows exact count for 99 or fewer items' do
expect(helper.todos_count_format(99)).to eq '99'
expect(helper.todos_count_format(50)).to eq '50'
expect(helper.todos_count_format(1)).to eq '1'
end
end
describe '#todo_projects_options' do
let(:projects) { create_list(:empty_project, 3) }
let(:user) { create(:user) }
it 'returns users authorised projects in json format' do
projects.first.add_developer(user)
projects.second.add_developer(user)
allow(helper).to receive(:current_user).and_return(user)
expected_results = [
{ 'id' => '', 'text' => 'Any Project' },
{ 'id' => projects.second.id, 'text' => projects.second.name_with_namespace },
{ 'id' => projects.first.id, 'text' => projects.first.name_with_namespace }
]
expect(JSON.parse(helper.todo_projects_options)).to match_array(expected_results)
end
end
end