Skip to content

Commit 565267d

Browse files
svenweyKagemaru
authored andcommitted
add tests for cockpit csv export
1 parent 28ec2b0 commit 565267d

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

test/controllers/accounting_posts_controller_test.rb

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,4 +340,40 @@ class AccountingPostsControllerTest < ActionController::TestCase
340340
assert_redirected_to order_accounting_posts_path(orders(:hitobito_demo))
341341
assert_predicate flash[:alert], :blank?
342342
end
343+
344+
test 'GET export csv simple' do
345+
get :export_csv, params: { order_id: orders(:puzzletime).id }
346+
347+
# assert_csv_http_headers('puzzletime.csv')
348+
assert_match expected_csv_header, csv_header
349+
puts csv_data_lines
350+
351+
assert_equal 1, csv_data_lines.size
352+
assert_match 'PITC-PT,100.0,18.0,10.0,92.0,0', csv_data_lines.first
353+
end
354+
355+
test 'GET export csv with timespan' do
356+
get :export_csv, params: { order_id: orders(:puzzletime).id, start_date: '2006-12-04', end_date: '2006-12-10' }
357+
358+
assert_match expected_csv_header, csv_header
359+
puts csv_data_lines
360+
361+
assert_equal 1, csv_data_lines.size
362+
assert_match 'PITC-PT,100.0,6.0,0,92.0,0', csv_data_lines.first
363+
end
364+
365+
private
366+
367+
def expected_csv_header
368+
'Position,Budget,Geleistete Stunden,Nicht verrechenbar,Offenes Budget,Geplantes Budget'
369+
end
370+
371+
def csv_header
372+
response.body.lines.first
373+
end
374+
375+
def csv_data_lines
376+
_, *lines = response.body.lines.to_a
377+
lines
378+
end
343379
end

0 commit comments

Comments
 (0)