mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-28 05:14:21 +08:00
48 lines
1.7 KiB
Ruby
Vendored
48 lines
1.7 KiB
Ruby
Vendored
# frozen_string_literal: true
|
|
|
|
describe "Data explorer new query" do
|
|
fab!(:admin)
|
|
|
|
let(:query_runner) { PageObjects::Pages::DataExplorerQueryRunner.new }
|
|
|
|
before do
|
|
SiteSetting.data_explorer_enabled = true
|
|
sign_in admin
|
|
end
|
|
|
|
it "navigates to the new query page from the index" do
|
|
visit("/admin/plugins/discourse-data-explorer/queries")
|
|
find(".d-page-subheader .btn-primary").click
|
|
expect(page).to have_current_path("/admin/plugins/discourse-data-explorer/queries/new")
|
|
end
|
|
|
|
it "creates a query with name, description, and SQL" do
|
|
query_runner.visit_new_query
|
|
expect(page).to have_css(".query-new__manual-form .right-panel .schema", text: "topics")
|
|
|
|
query_runner
|
|
.fill_new_query_name("Test Query")
|
|
.fill_new_query_description("A test description")
|
|
.fill_new_query_sql("SELECT 1")
|
|
.submit_new_query
|
|
|
|
query = DiscourseDataExplorer::Query.last
|
|
expect(query.name).to eq("Test Query")
|
|
expect(query.description).to eq("A test description")
|
|
expect(query.sql).to eq("SELECT 1")
|
|
|
|
expect(page).to have_current_path("/admin/plugins/discourse-data-explorer/queries/#{query.id}")
|
|
expect(query_runner).to have_query_name("Test Query")
|
|
expect(query_runner).to have_query_description("A test description")
|
|
end
|
|
|
|
it "creates a query with name only" do
|
|
query_runner.visit_new_query.fill_new_query_name("Name Only Query").submit_new_query
|
|
|
|
query = DiscourseDataExplorer::Query.last
|
|
expect(query.name).to eq("Name Only Query")
|
|
|
|
expect(page).to have_current_path("/admin/plugins/discourse-data-explorer/queries/#{query.id}")
|
|
expect(query_runner).to have_query_name("Name Only Query")
|
|
end
|
|
end
|