mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
8565925b17
* create a breadcrumbs angular component * change the styles of breadcrumbs component so it look like other breadcrumbs * add breadcrumbs component to the partition query space component * add breadcrumbs to boards * add breadcrumbs to team planners and calendar * add breadcrumbs to ifc viewer and wps and gantt pages * add feature specs for modules that have breadcrumbs component * add mobile view for breadcrumbs component * fix mobile styles in bcf module * remove margin-bottom from breadcrumb mobile since it has some space from toolbar title * add a section for active breadcrumb * move breadcrumb items for gantt and wp to a separate method * fix urls for work packages and gantt pages when there is no project selected * use only op- classes * use existing translations and use capybara accessible selectors * change gantt translation key * fix failing test in boards * add section header of side bar menu to the breadcrumb last item * change css BEM styles and change the projectWorkPackages path to workPackages path * undo css changes in bcf view * fix failing tests * change target of anchors * Use real space instead of a margin so that screen readers can read it out correctly --------- Co-authored-by: Henriette Darge <h.darge@openproject.com>
97 lines
3.3 KiB
Ruby
97 lines
3.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
#-- copyright
|
|
# OpenProject is an open source project management software.
|
|
# Copyright (C) the OpenProject GmbH
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License version 3.
|
|
#
|
|
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
|
|
# Copyright (C) 2006-2013 Jean-Philippe Lang
|
|
# Copyright (C) 2010-2013 the ChiliProject Team
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
#
|
|
# See COPYRIGHT and LICENSE files for more details.
|
|
#++
|
|
|
|
require "spec_helper"
|
|
|
|
RSpec.describe "Work package pagination", :js do
|
|
shared_let(:admin) { create(:admin) }
|
|
|
|
let(:project) do
|
|
create(:project, name: "project1", identifier: "project1")
|
|
end
|
|
|
|
shared_examples_for "paginated work package list" do
|
|
let!(:work_package_1) { create(:work_package, project:) }
|
|
let!(:work_package_2) { create(:work_package, project:) }
|
|
|
|
before do
|
|
login_as(admin)
|
|
allow(Setting).to receive(:per_page_options).and_return "1, 50, 100"
|
|
|
|
visit path
|
|
expect(page).to have_current_path(expected_path, ignore_query: true)
|
|
end
|
|
|
|
it do
|
|
expect(page).to have_content("All open")
|
|
|
|
expect(page).to have_test_selector("op-breadcrumbs--item", text: "Work packages")
|
|
expect(page).to have_css(".op-breadcrumbs--current", text: "All open", aria: { current: "page" })
|
|
|
|
within(".work-packages-partitioned-query-space--container") do
|
|
expect(page).to have_content(work_package_1.subject)
|
|
expect(page).to have_no_content(work_package_2.subject)
|
|
end
|
|
|
|
within(".op-pagination--pages") do
|
|
find(".op-pagination--item button", text: "2").click
|
|
end
|
|
|
|
within(".work-packages-partitioned-query-space--container") do
|
|
expect(page).to have_content(work_package_2.subject)
|
|
expect(page).to have_no_content(work_package_1.subject)
|
|
end
|
|
|
|
within(".op-pagination--options") do
|
|
find(".op-pagination--item button", text: "50").click
|
|
end
|
|
|
|
within(".work-packages-partitioned-query-space--container") do
|
|
expect(page).to have_content(work_package_1.subject)
|
|
expect(page).to have_content(work_package_2.subject)
|
|
end
|
|
end
|
|
end
|
|
|
|
context "with project scope" do
|
|
it_behaves_like "paginated work package list" do
|
|
let(:path) { project_work_packages_path(project) }
|
|
let(:expected_path) { "/projects/project1/work_packages" }
|
|
end
|
|
end
|
|
|
|
context "globally" do
|
|
it_behaves_like "paginated work package list" do
|
|
let(:path) { work_packages_path }
|
|
let(:expected_path) { "/work_packages" }
|
|
end
|
|
end
|
|
end
|