Convert specs to tests

This commit is contained in:
Artur Beljajev 2018-01-19 12:12:07 +02:00
parent b06e9152f6
commit 0fa0c69877
6 changed files with 36 additions and 96 deletions

View file

@ -1,14 +0,0 @@
require 'rails_helper'
RSpec.feature 'CSV Export' do
background do
Setting.api_ip_whitelist_enabled = false
Setting.registrar_ip_whitelist_enabled = false
sign_in_to_registrar_area(user: create(:api_user_with_unlimited_balance))
end
scenario 'exports csv' do
visit registrar_domains_url
click_link_or_button 'Download'
end
end

View file

@ -1,51 +0,0 @@
require 'rails_helper'
RSpec.describe Registrar::DomainListCSVPresenter do
let(:domain) { instance_spy(DomainPresenter) }
let(:csv) { CSV.parse(described_class.new(domains: [domain], view: view).to_s, converters: :all) }
describe 'header' do
subject(:header) { csv.first }
it 'is present' do
columns = []
columns[0] = 'Domain'
columns[1] = 'Auth info'
columns[2] = 'Registrant name'
columns[3] = 'Registrant code'
columns[4] = 'Date of expiry'
columns
expect(header).to eq(columns)
end
end
describe 'row' do
subject(:row) { csv.second }
it 'has domain name' do
expect(domain).to receive(:name).and_return('test name')
expect(row[0]).to eq('test name')
end
it 'has domain auth info' do
expect(domain).to receive(:auth_info).and_return('test auth info')
expect(row[1]).to eq('test auth info')
end
it 'has registrant name' do
expect(domain).to receive(:registrant_name).and_return('test registrant name')
expect(row[2]).to eq('test registrant name')
end
it 'has registrant code' do
expect(domain).to receive(:registrant_code).and_return('test registrant code')
expect(row[3]).to eq('test registrant code')
end
it 'has expire date' do
expect(domain).to receive(:expire_date).and_return('expire date')
expect(row[4]).to eq('expire date')
end
end
end

View file

@ -1,24 +0,0 @@
require 'rails_helper'
RSpec.describe Registrar::DomainsController, db: true do
describe '#index' do
before do
sign_in_to_registrar_area
end
it 'responds with success' do
csv_presenter = instance_double(Registrar::DomainListCSVPresenter, to_s: 'csv')
expect(Registrar::DomainListCSVPresenter).to receive(:new).and_return(csv_presenter)
get registrar_domains_url(format: 'csv')
expect(response.body).to eq('csv')
end
it 'returns csv' do
get registrar_domains_url(format: 'csv')
expect(response).to have_http_status(:success)
end
end
end

View file

@ -4,6 +4,7 @@ john:
ident_type: priv
ident_country_code: US
registrar: acme
code: john-001
jane:
name: Jane
@ -11,10 +12,12 @@ jane:
ident_type: priv
ident_country_code: US
registrar: acme
code: jane-001
acme_ltd:
name: Acme Ltd.
name: Acme Ltd
ident: 1234
ident_type: org
registrar: acme
ident_country_code: US
code: acme-ltd-001

View file

@ -1,14 +1,20 @@
one:
name: one.test
shop:
name: shop.test
registrar: valid
registrant: john
auth_info: 65078d5
valid_to: 2010-07-05
two:
name: two.test
airport:
name: airport.test
registrar: valid
registrant: john
auth_info: 55438j5
valid_to: 2010-07-05
three:
name: three.test
library:
name: library.test
registrar: valid
registrant: acme_ltd
auth_info: 45118f5
valid_to: 2010-07-05

View file

@ -0,0 +1,20 @@
require 'test_helper'
class DomainsTest < ActionDispatch::IntegrationTest
def setup
login_as users(:api)
end
def test_downloads_domain_list_as_csv
expected_csv = <<-CSV.strip_heredoc
Domain,Auth info,Registrant name,Registrant code,Date of expiry
library.test,45118f5,Acme Ltd,acme-ltd-001,2010-07-05
shop.test,65078d5,John,john-001,2010-07-05
airport.test,55438j5,John,john-001,2010-07-05
CSV
visit registrar_domains_url
click_button 'Download as CSV'
assert_equal expected_csv, page.body
end
end