|
50 | 50 | expect(tasks['next']).to be_a(Integer) |
51 | 51 | end |
52 | 52 |
|
53 | | - it 'filters tasks with index_uid/type/status' do |
54 | | - tasks = client.tasks(index_uid: ['a-cool-index-name']) |
| 53 | + it 'filters tasks with index_uids/types/statuses' do |
| 54 | + tasks = client.tasks(index_uids: ['a-cool-index-name']) |
55 | 55 |
|
56 | 56 | expect(tasks['results'].count).to eq(0) |
57 | 57 |
|
58 | | - tasks = client.tasks(index_uid: ['books'], type: ['documentAdditionOrUpdate'], status: ['succeeded']) |
| 58 | + tasks = client.tasks(index_uids: ['books'], types: ['documentAdditionOrUpdate'], statuses: ['succeeded']) |
59 | 59 |
|
60 | 60 | expect(tasks['results'].count).to be > 1 |
61 | 61 | end |
62 | 62 |
|
| 63 | + it 'ensures supports to all available filters' do |
| 64 | + allow(MeiliSearch::Utils).to receive(:transform_attributes).and_call_original |
| 65 | + |
| 66 | + client.tasks( |
| 67 | + canceled_by: [1, 2], uids: [2], foo: 'bar', |
| 68 | + before_enqueued_at: '2022-01-20', after_enqueued_at: '2022-01-20', |
| 69 | + before_started_at: '2022-01-20', after_started_at: '2022-01-20', |
| 70 | + before_finished_at: '2022-01-20', after_finished_at: '2022-01-20' |
| 71 | + ) |
| 72 | + |
| 73 | + expect(MeiliSearch::Utils).to have_received(:transform_attributes) |
| 74 | + .with( |
| 75 | + canceled_by: [1, 2], uids: [2], |
| 76 | + before_enqueued_at: '2022-01-20', after_enqueued_at: '2022-01-20', |
| 77 | + before_started_at: '2022-01-20', after_started_at: '2022-01-20', |
| 78 | + before_finished_at: '2022-01-20', after_finished_at: '2022-01-20' |
| 79 | + ) |
| 80 | + end |
| 81 | + |
63 | 82 | describe '#index.wait_for_task' do |
64 | 83 | it 'waits for task with default values' do |
65 | 84 | task = index.add_documents(documents) |
|
133 | 152 | end.to raise_error(Timeout::Error) |
134 | 153 | end |
135 | 154 | end |
| 155 | + |
| 156 | + describe '#client.cancel_tasks' do |
| 157 | + it 'ensures supports to all available filters' do |
| 158 | + allow(MeiliSearch::Utils).to receive(:transform_attributes).and_call_original |
| 159 | + |
| 160 | + client.cancel_tasks( |
| 161 | + canceled_by: [1, 2], uids: [2], foo: 'bar', |
| 162 | + before_enqueued_at: '2022-01-20', after_enqueued_at: '2022-01-20', |
| 163 | + before_started_at: '2022-01-20', after_started_at: '2022-01-20', |
| 164 | + before_finished_at: '2022-01-20', after_finished_at: '2022-01-20' |
| 165 | + ) |
| 166 | + |
| 167 | + expect(MeiliSearch::Utils).to have_received(:transform_attributes) |
| 168 | + .with( |
| 169 | + canceled_by: [1, 2], uids: [2], |
| 170 | + before_enqueued_at: '2022-01-20', after_enqueued_at: '2022-01-20', |
| 171 | + before_started_at: '2022-01-20', after_started_at: '2022-01-20', |
| 172 | + before_finished_at: '2022-01-20', after_finished_at: '2022-01-20' |
| 173 | + ) |
| 174 | + end |
| 175 | + |
| 176 | + it 'has fields in the details field' do |
| 177 | + task = client.cancel_tasks(uids: [1, 2]) |
| 178 | + task = client.wait_for_task(task['taskUid']) |
| 179 | + |
| 180 | + expect(task['details']['originalFilter']).to eq('?uids=1%2C2') |
| 181 | + expect(task['details']['matchedTasks']).to be_a(Integer) |
| 182 | + expect(task['details']['canceledTasks']).to be_a(Integer) |
| 183 | + end |
| 184 | + end |
| 185 | + |
| 186 | + describe '#client.delete_tasks' do |
| 187 | + it 'ensures supports to all available filters' do |
| 188 | + date = DateTime.new(2022, 1, 20) |
| 189 | + |
| 190 | + allow(MeiliSearch::Utils).to receive(:transform_attributes).and_call_original |
| 191 | + |
| 192 | + client.delete_tasks( |
| 193 | + canceled_by: [1, 2], uids: [2], foo: 'bar', |
| 194 | + before_enqueued_at: date, after_enqueued_at: date, |
| 195 | + before_started_at: date, after_started_at: date, |
| 196 | + before_finished_at: date, after_finished_at: date |
| 197 | + ) |
| 198 | + |
| 199 | + expect(MeiliSearch::Utils).to have_received(:transform_attributes) |
| 200 | + .with( |
| 201 | + canceled_by: [1, 2], uids: [2], |
| 202 | + before_enqueued_at: date, after_enqueued_at: date, |
| 203 | + before_started_at: date, after_started_at: date, |
| 204 | + before_finished_at: date, after_finished_at: date |
| 205 | + ) |
| 206 | + end |
| 207 | + |
| 208 | + it 'has fields in the details field' do |
| 209 | + task = client.delete_tasks(uids: [1, 2]) |
| 210 | + task = client.wait_for_task(task['taskUid']) |
| 211 | + |
| 212 | + expect(task['details']['originalFilter']).to eq('?uids=1%2C2') |
| 213 | + expect(task['details']['matchedTasks']).to be_a(Integer) |
| 214 | + expect(task['details']['deletedTasks']).to be_a(Integer) |
| 215 | + end |
| 216 | + end |
136 | 217 | end |
0 commit comments