# frozen_string_literal: true require 'spec_helper' RSpec.describe Boards::EpicBoardsFinder do describe '#execute' do let_it_be(:parent_group) { create(:group) } let_it_be(:group) { create(:group, parent: parent_group) } let_it_be(:epic_board1) { create(:epic_board, name: 'Acd', group: group) } let_it_be(:epic_board2) { create(:epic_board, name: 'abd', group: group) } let_it_be(:epic_board3) { create(:epic_board, name: 'Bbd', group: group) } let_it_be(:epic_board4) { create(:epic_board) } let_it_be(:epic_board5) { create(:epic_board, name: 'foo', group: parent_group) } let(:params) { {} } subject(:result) { described_class.new(group, params).execute } it 'finds all epic boards in the group ordered by case-insensitive name' do expect(result).to eq([epic_board2, epic_board1, epic_board3]) end context 'when include_ancestor_groups parameter is set' do let(:params) { { include_ancestor_groups: true } } it 'finds all epic boards in the group or ancestor groups' do expect(result).to eq([epic_board2, epic_board1, epic_board3, epic_board5]) end end context 'when ID parameter is set' do let(:params) { { id: epic_board2.id } } it 'finds epic board by ID' do expect(result).to eq([epic_board2]) end end end end