mirror of
https://github.com/internetee/registry.git
synced 2025-07-29 14:06:21 +02:00
68 lines
2.1 KiB
Ruby
68 lines
2.1 KiB
Ruby
require 'test_helper'
|
|
|
|
class AdminAreaInvoicesIntegrationTest < ApplicationIntegrationTest
|
|
setup do
|
|
@invoice = invoices(:one)
|
|
sign_in users(:admin)
|
|
|
|
@account = accounts(:cash)
|
|
@registrar = registrars(:bestnames)
|
|
end
|
|
|
|
def test_cancel_paid_invoice
|
|
@invoice.account_activity.update(sum: 10)
|
|
assert @invoice.paid?
|
|
|
|
assert_equal @registrar.balance, 100
|
|
|
|
assert_no_difference 'Invoice.count' do
|
|
assert_difference 'AccountActivity.count' do
|
|
post cancel_paid_admin_invoices_path(id: @invoice.id) + "?invoice_id=#{@invoice.id}"
|
|
end
|
|
end
|
|
assert_equal @registrar.balance, 90
|
|
end
|
|
|
|
def test_create_new_invoice
|
|
invoice_n = Invoice.order(number: :desc).last.number
|
|
stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator").
|
|
with(
|
|
headers: {
|
|
'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==',
|
|
'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
|
|
'Authorization'=>'Bearer foobar',
|
|
'Content-Type'=>'application/json',
|
|
'User-Agent'=>'Ruby'
|
|
}).
|
|
to_return(status: 200, body: "{\"invoice_number\":\"#{invoice_n + 3}\"}", headers: {})
|
|
visit new_admin_invoice_path
|
|
|
|
assert_text 'Create new invoice'
|
|
select 'Best Names', from: 'deposit_registrar_id', match: :first
|
|
fill_in 'Amount', with: '1000'
|
|
click_on 'Save'
|
|
|
|
assert_equal page.status_code, 200
|
|
end
|
|
|
|
def test_visit_list_of_invoices_pages
|
|
visit admin_invoices_path
|
|
assert_text 'Invoices'
|
|
end
|
|
|
|
def test_visit_invoice_page
|
|
visit admin_invoices_path(id: @invoice.id)
|
|
assert_text "Invoice no. #{@invoice.number}"
|
|
end
|
|
|
|
def test_downloads_invoice
|
|
assert_equal 1, @invoice.number
|
|
|
|
get download_admin_invoice_path(@invoice)
|
|
|
|
assert_response :ok
|
|
assert_equal 'application/pdf', response.headers['Content-Type']
|
|
assert_equal "attachment; filename=\"invoice-1.pdf\"; filename*=UTF-8''invoice-1.pdf", response.headers['Content-Disposition']
|
|
assert_not_empty response.body
|
|
end
|
|
end
|