mirror of
https://github.com/internetee/registry.git
synced 2025-08-11 12:09:34 +02:00
Fix admin contacts CSV output
This commit is contained in:
parent
6263ded68f
commit
f44bdd1930
5 changed files with 48 additions and 3 deletions
|
@ -576,4 +576,20 @@ class Contact < ApplicationRecord
|
||||||
|
|
||||||
description
|
description
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def as_csv_row
|
||||||
|
[
|
||||||
|
name,
|
||||||
|
code,
|
||||||
|
ident_human_description,
|
||||||
|
email,
|
||||||
|
created_at.to_formatted_s(:db),
|
||||||
|
registrar,
|
||||||
|
phone,
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.csv_header
|
||||||
|
['Name', 'ID', 'Ident', 'E-mail', 'Created at', 'Registrar', 'Phone'].freeze
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,6 +12,6 @@ class CsvGenerator
|
||||||
private
|
private
|
||||||
|
|
||||||
def self.custom_csv(class_name)
|
def self.custom_csv(class_name)
|
||||||
[Version::DomainVersion, Version::ContactVersion, Domain].include?(class_name)
|
[Version::DomainVersion, Version::ContactVersion, Domain, Contact, Invoice].include?(class_name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
10
test/fixtures/files/contacts.csv
vendored
Normal file
10
test/fixtures/files/contacts.csv
vendored
Normal 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,
|
|
19
test/system/admin_area/contacts/csv_test.rb
Normal file
19
test/system/admin_area/contacts/csv_test.rb
Normal 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
|
|
@ -1,9 +1,9 @@
|
||||||
require 'application_system_test_case'
|
require 'application_system_test_case'
|
||||||
|
|
||||||
class AdminAreaCsvTest < ApplicationSystemTestCase
|
class DomainsCsvTest < ApplicationSystemTestCase
|
||||||
setup { sign_in users(:admin) }
|
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')
|
travel_to Time.zone.parse('2010-07-05 10:30')
|
||||||
Domain.all.each do |domain|
|
Domain.all.each do |domain|
|
||||||
domain.created_at = Time.zone.now
|
domain.created_at = Time.zone.now
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue