diff options
Diffstat (limited to 'spec/features/projects/product_analytics')
4 files changed, 100 insertions, 0 deletions
diff --git a/spec/features/projects/product_analytics/events_spec.rb b/spec/features/projects/product_analytics/events_spec.rb new file mode 100644 index 00000000000..12f1c4d291a --- /dev/null +++ b/spec/features/projects/product_analytics/events_spec.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Product Analytics > Events' do + let_it_be(:project) { create(:project_empty_repo) } + let_it_be(:user) { create(:user) } + let(:event) { create(:product_analytics_event, project: project) } + + before do + project.add_maintainer(user) + sign_in(user) + end + + it 'shows no events message' do + visit(project_product_analytics_path(project)) + + expect(page).to have_content('There are currently no events') + end + + it 'shows events' do + event + + visit(project_product_analytics_path(project)) + + expect(page).to have_content('dvce_created_tstamp') + expect(page).to have_content(event.event_id) + end +end diff --git a/spec/features/projects/product_analytics/graphs_spec.rb b/spec/features/projects/product_analytics/graphs_spec.rb new file mode 100644 index 00000000000..e2293893589 --- /dev/null +++ b/spec/features/projects/product_analytics/graphs_spec.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Product Analytics > Graphs' do + let_it_be(:project) { create(:project) } + let_it_be(:user) { create(:user) } + + before do + project.add_maintainer(user) + sign_in(user) + end + + it 'shows graphs', :js do + create(:product_analytics_event, project: project) + + visit(graphs_project_product_analytics_path(project)) + + expect(page).to have_content('Showing graphs based on events') + expect(page).to have_content('platform') + expect(page).to have_content('os_timezone') + expect(page).to have_content('br_lang') + expect(page).to have_content('doc_charset') + end +end diff --git a/spec/features/projects/product_analytics/setup_spec.rb b/spec/features/projects/product_analytics/setup_spec.rb new file mode 100644 index 00000000000..45c2b67502c --- /dev/null +++ b/spec/features/projects/product_analytics/setup_spec.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Product Analytics > Setup' do + let_it_be(:project) { create(:project_empty_repo) } + let_it_be(:user) { create(:user) } + + before do + project.add_maintainer(user) + sign_in(user) + end + + it 'shows the setup instructions' do + visit(setup_project_product_analytics_path(project)) + + expect(page).to have_content('Copy the code below to implement tracking in your application') + end +end diff --git a/spec/features/projects/product_analytics/test_spec.rb b/spec/features/projects/product_analytics/test_spec.rb new file mode 100644 index 00000000000..8984fb409d1 --- /dev/null +++ b/spec/features/projects/product_analytics/test_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Product Analytics > Test' do + let_it_be(:project) { create(:project_empty_repo) } + let_it_be(:user) { create(:user) } + + before do + project.add_maintainer(user) + sign_in(user) + end + + it 'says it sends a payload' do + visit(test_project_product_analytics_path(project)) + + expect(page).to have_content('This page sends a payload.') + end + + it 'shows the last event if there is one' do + event = create(:product_analytics_event, project: project) + + visit(test_project_product_analytics_path(project)) + + expect(page).to have_content(event.event_id) + end +end |