Fix admin contacts CSV output

This commit is contained in:
Thiago Youssef 2022-03-14 09:22:03 +02:00
parent 6263ded68f
commit f44bdd1930
5 changed files with 48 additions and 3 deletions

10
test/fixtures/files/contacts.csv vendored Normal file
View file

@ -0,0 +1,10 @@
Name,ID,Ident,E-mail,Created at,Registrar,Phone
John,john-001,1234 [US priv],john@inbox.test,2010-07-05 07:30:00,Best Names,+555.555
William,william-001,12345 [US priv],william@inbox.test,2010-07-05 07:30:00,Best Names,+555.555
Jane,jane-001,123456 [US priv],jane@mail.test,2010-07-05 07:30:00,Best Names,+555.555
Acme Ltd,acme-ltd-001,1234567 [US org],acme@outlook.test,2010-07-05 07:30:00,Best Names,+555.555
Jack,jack-001,12345678 [US org],jack@inbox.test,2010-07-05 07:30:00,Good Names,+555.555
William,william-002,12345 [US priv],william@inbox.test,2010-07-05 07:30:00,Good Names,+555.555
Registrar Ltd,registrarltd-001,1234567890 [US org],registrar@inbox.test,2010-07-05 07:30:00,Good Names,+555.555
any,invalid,[ ],invalid@invalid.test,2010-07-05 07:30:00,Best Names,
any,invalid_email,[ ],invalid@invalid.,2010-07-05 07:30:00,Best Names,
1 Name ID Ident E-mail Created at Registrar Phone
2 John john-001 1234 [US priv] john@inbox.test 2010-07-05 07:30:00 Best Names +555.555
3 William william-001 12345 [US priv] william@inbox.test 2010-07-05 07:30:00 Best Names +555.555
4 Jane jane-001 123456 [US priv] jane@mail.test 2010-07-05 07:30:00 Best Names +555.555
5 Acme Ltd acme-ltd-001 1234567 [US org] acme@outlook.test 2010-07-05 07:30:00 Best Names +555.555
6 Jack jack-001 12345678 [US org] jack@inbox.test 2010-07-05 07:30:00 Good Names +555.555
7 William william-002 12345 [US priv] william@inbox.test 2010-07-05 07:30:00 Good Names +555.555
8 Registrar Ltd registrarltd-001 1234567890 [US org] registrar@inbox.test 2010-07-05 07:30:00 Good Names +555.555
9 any invalid [ ] invalid@invalid.test 2010-07-05 07:30:00 Best Names
10 any invalid_email [ ] invalid@invalid. 2010-07-05 07:30:00 Best Names

View file

@ -0,0 +1,19 @@
require 'application_system_test_case'
class ContactsCsvTest < ApplicationSystemTestCase
setup { sign_in users(:admin) }
def test_download_contacts_list_as_csv
travel_to Time.zone.parse('2010-07-05 10:30')
Contact.all.each do |contact|
contact.created_at = Time.zone.now
contact.save(:validate => false)
end
visit admin_contacts_url
click_link('CSV')
assert_equal "attachment; filename=\"contacts_#{Time.zone.now.to_formatted_s(:number)}.csv\"; filename*=UTF-8''contacts_#{Time.zone.now.to_formatted_s(:number)}.csv", response_headers['Content-Disposition']
assert_equal file_fixture('contacts.csv').read, page.body
end
end

View file

@ -1,9 +1,9 @@
require 'application_system_test_case'
class AdminAreaCsvTest < ApplicationSystemTestCase
class DomainsCsvTest < ApplicationSystemTestCase
setup { sign_in users(:admin) }
def test_downloads_domain_list_as_csv
def test_download_domains_list_as_csv
travel_to Time.zone.parse('2010-07-05 10:30')
Domain.all.each do |domain|
domain.created_at = Time.zone.now