diff options
author | Reuben Pereira <rpereira@gitlab.com> | 2019-03-01 17:51:54 +0300 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2019-03-01 17:51:54 +0300 |
commit | 43e713eb41117138c13ee4b9279321ca4331a302 (patch) | |
tree | 1f2047b2ba5279fdad38b0da18db32ba350311d8 /spec/helpers/projects_helper_spec.rb | |
parent | 4471ab81c8484d9942183bd8114a757b8630b8ec (diff) |
Refactor model and spec
- Move some specs into contexts
- Let get_slugs method take a parameter and return a specific slug.
- Add rescues when using Addressable::URI.
Diffstat (limited to 'spec/helpers/projects_helper_spec.rb')
-rw-r--r-- | spec/helpers/projects_helper_spec.rb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index 49895b0680b..291eafece94 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -3,6 +3,56 @@ require 'spec_helper' describe ProjectsHelper do include ProjectForksHelper + describe '#error_tracking_setting_project_json' do + let(:project) { create(:project) } + + context 'error tracking setting does not exist' do + before do + helper.instance_variable_set(:@project, project) + end + + it 'returns nil' do + expect(helper.error_tracking_setting_project_json).to be_nil + end + end + + context 'error tracking setting exists' do + let!(:error_tracking_setting) { create(:project_error_tracking_setting, project: project) } + + context 'api_url present' do + let(:json) do + { + name: error_tracking_setting.project_name, + organization_name: error_tracking_setting.organization_name, + organization_slug: error_tracking_setting.organization_slug, + slug: error_tracking_setting.project_slug + }.to_json + end + + before do + helper.instance_variable_set(:@project, project) + end + + it 'returns error tracking json' do + expect(helper.error_tracking_setting_project_json).to eq(json) + end + end + + context 'api_url not present' do + before do + project.error_tracking_setting.api_url = nil + project.error_tracking_setting.enabled = false + + helper.instance_variable_set(:@project, project) + end + + it 'returns nil' do + expect(helper.error_tracking_setting_project_json).to be_nil + end + end + end + end + describe "#project_status_css_class" do it "returns appropriate class" do expect(project_status_css_class("started")).to eq("table-active") |