Skip to content
代码片段 群组 项目
未验证 提交 69b20cf2 编辑于 作者: Pedro Pombeiro's avatar Pedro Pombeiro
浏览文件

Move sorting and filtering tests to inner context

上级 5f3291f8
No related branches found
No related tags found
无相关合并请求
...@@ -184,82 +184,64 @@ ...@@ -184,82 +184,64 @@
describe '#execute' do describe '#execute' do
subject { described_class.new(current_user: user, group: group, params: params).execute } subject { described_class.new(current_user: user, group: group, params: params).execute }
context 'no params' do context 'with user as group owner' do
before do before do
group.add_owner(user) group.add_owner(user)
end end
it 'returns all runners' do context 'passing no params' do
expect(subject).to eq([runner_project_7, runner_project_6, runner_project_5, it 'returns all descendant runners' do
runner_project_4, runner_project_3, runner_project_2, expect(subject).to eq([runner_project_7, runner_project_6, runner_project_5,
runner_project_1, runner_sub_group_4, runner_sub_group_3, runner_project_4, runner_project_3, runner_project_2,
runner_sub_group_2, runner_sub_group_1, runner_group]) runner_project_1, runner_sub_group_4, runner_sub_group_3,
end runner_sub_group_2, runner_sub_group_1, runner_group])
end
context 'with sort param' do
let(:params) { { sort: 'contacted_asc' } }
before do
group.add_owner(user)
end
it 'sorts by specified attribute' do
expect(subject).to eq([runner_group, runner_sub_group_1, runner_sub_group_2,
runner_sub_group_3, runner_sub_group_4, runner_project_1,
runner_project_2, runner_project_3, runner_project_4,
runner_project_5, runner_project_6, runner_project_7])
end
end
context 'filtering' do
context 'by search term' do
let(:params) { { search: 'runner_project_search' } }
before do
group.add_owner(user)
end
it 'returns correct runner' do
expect(subject).to eq([runner_project_3])
end end
end end
context 'by status' do context 'with sort param' do
let(:params) { { status_status: 'paused' } } let(:params) { { sort: 'contacted_asc' } }
before do
group.add_owner(user)
end
it 'returns correct runner' do it 'sorts by specified attribute' do
expect(subject).to eq([runner_sub_group_1]) expect(subject).to eq([runner_group, runner_sub_group_1, runner_sub_group_2,
runner_sub_group_3, runner_sub_group_4, runner_project_1,
runner_project_2, runner_project_3, runner_project_4,
runner_project_5, runner_project_6, runner_project_7])
end end
end end
context 'by tag_name' do context 'filtering' do
let(:params) { { tag_name: %w[runner_tag] } } context 'by search term' do
let(:params) { { search: 'runner_project_search' } }
before do it 'returns correct runner' do
group.add_owner(user) expect(subject).to eq([runner_project_3])
end
end end
it 'returns correct runner' do context 'by status' do
expect(subject).to eq([runner_project_5]) let(:params) { { status_status: 'paused' } }
it 'returns correct runner' do
expect(subject).to eq([runner_sub_group_1])
end
end end
end
context 'by runner type' do context 'by tag_name' do
let(:params) { { type_type: 'project_type' } } let(:params) { { tag_name: %w[runner_tag] } }
before do it 'returns correct runner' do
group.add_owner(user) expect(subject).to eq([runner_project_5])
end
end end
it 'returns correct runners' do context 'by runner type' do
expect(subject).to eq([runner_project_7, runner_project_6, let(:params) { { type_type: 'project_type' } }
runner_project_5, runner_project_4,
runner_project_3, runner_project_2, runner_project_1]) it 'returns correct runners' do
expect(subject).to eq([runner_project_7, runner_project_6,
runner_project_5, runner_project_4,
runner_project_3, runner_project_2, runner_project_1])
end
end end
end end
end end
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册