21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/zendesk2/update_view.rb', line 21
def mock
body = find!(:views, view_id)
update_params = view_params
output = update_params.delete('output') || {}
columns = (output['columns'] || []).inject([]) do |a, e|
a + [{ 'id' => e, 'name' => Zendesk2::CreateView.view_columns.fetch(c) }]
end
body['updated_at'] = timestamp
if columns.any?
body['execution'] = {
'columns' => columns,
'fields' => columns,
'custom_fields' => [],
}
end
body['execution']['conditions'] = Cistern::Hash.slice(body, 'any', 'all')
group_params = Cistern::Hash.slice(body, 'group_by', 'group_order').merge(
Cistern::Hash.slice(update_params, 'group_by', 'group_order')
)
body.merge!(group_params)['group'] = {
'id' => group_params['group_by'],
'order' => group_params['group_order'],
'title' => (group_params['group_by'] && group_params['group_by'].to_s.upcase),
}
sort_params = Cistern::Hash.slice(body, 'sort_by', 'sort_order').merge(
Cistern::Hash.slice(update_params, 'sort_by', 'sort_order')
)
body.merge!(sort_params)['sort'] = {
'id' => sort_params['sort_by'],
'order' => sort_params['sort_order'],
'title' => (sort_params['sort_by'] && sort_params['sort_by'].to_s.upcase),
}
body.merge!(Cistern::Hash.slice(update_params, 'title', 'active'))
cistern.data[:views][view_id] = body
mock_response('view' => body)
end
|