This commit is contained in:
parent
d5b710dd9e
commit
a72495b741
5 changed files with 95 additions and 5 deletions
|
@ -5,7 +5,6 @@ require 'spec_helper'
|
|||
class DummyAuthController < ApplicationController; end
|
||||
|
||||
describe 'Auth concern', type: :controller do
|
||||
|
||||
controller DummyAuthController do
|
||||
# Defining a dummy action for an anynomous controller which inherits from the described class.
|
||||
def authenticate_blank
|
||||
|
|
30
spec/controllers/finance/base_controller_spec.rb
Normal file
30
spec/controllers/finance/base_controller_spec.rb
Normal file
|
@ -0,0 +1,30 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe Finance::BaseController, type: :controller do
|
||||
let(:user) { create :user, :role_finance, :role_orders, :ordergroup }
|
||||
|
||||
before { login user }
|
||||
|
||||
describe 'GET index' do
|
||||
let(:fin_trans) { create_list :financial_transaction, 3, user: user, ordergroup: user.ordergroup }
|
||||
let(:orders) { create_list :order, 2, state: 'finished' }
|
||||
let(:invoices) { create_list :invoice, 4 }
|
||||
|
||||
before do
|
||||
fin_trans
|
||||
orders
|
||||
invoices
|
||||
end
|
||||
|
||||
it 'renders index page' do
|
||||
get :index, params: { foodcoop: FoodsoftConfig[:default_scope] }
|
||||
expect(response).to have_http_status(:success)
|
||||
expect(response).to render_template('finance/index')
|
||||
expect(assigns(:financial_transactions).size).to eq(fin_trans.size)
|
||||
expect(assigns(:orders).size).to eq(orders.size)
|
||||
expect(assigns(:unpaid_invoices).size).to eq(invoices.size)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -5,6 +5,7 @@ FactoryBot.define do
|
|||
name { Faker::Company.name.truncate(30) }
|
||||
phone { Faker::PhoneNumber.phone_number }
|
||||
address { Faker::Address.street_address }
|
||||
email { Faker::Internet.email }
|
||||
|
||||
transient do
|
||||
article_count { 0 }
|
||||
|
|
29
spec/integration/admin_spec.rb
Normal file
29
spec/integration/admin_spec.rb
Normal file
|
@ -0,0 +1,29 @@
|
|||
require_relative '../spec_helper'
|
||||
|
||||
feature Admin::BaseController do
|
||||
let(:admin) { create :admin }
|
||||
let(:users) { create_list :user, 2 }
|
||||
let(:workgroups) { create_list :workgroup, 3 }
|
||||
let(:groups) { create_list :group, 4 }
|
||||
|
||||
before { login admin }
|
||||
|
||||
describe 'base#index' do
|
||||
before do
|
||||
users
|
||||
end
|
||||
|
||||
it 'is accessible with workgroups existing' do
|
||||
workgroups
|
||||
visit admin_root_path
|
||||
expect(page).to have_content(I18n.t('admin.base.index.newest_users'))
|
||||
expect(page).to have_content(users.first.name)
|
||||
end
|
||||
|
||||
# TODO:
|
||||
it 'raising error when groups existing' do
|
||||
groups
|
||||
expect{ visit admin_root_path }.to raise_error(ActionView::Template::Error)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -2,12 +2,11 @@ require_relative '../spec_helper'
|
|||
|
||||
feature 'supplier' do
|
||||
let(:supplier) { create :supplier }
|
||||
let(:user) { create :user, groups: [create(:workgroup, role_suppliers: true)] }
|
||||
|
||||
before { login user }
|
||||
|
||||
describe 'create new' do
|
||||
let(:user) { create :user, groups: [create(:workgroup, role_suppliers: true)] }
|
||||
|
||||
before { login user }
|
||||
|
||||
it 'can be created' do
|
||||
create :supplier_category
|
||||
visit suppliers_path
|
||||
|
@ -28,4 +27,36 @@ feature 'supplier' do
|
|||
expect(page).to have_content(supplier.name)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'existing', js: true do
|
||||
it 'can be shown' do
|
||||
supplier
|
||||
visit suppliers_path
|
||||
click_link supplier.name
|
||||
expect(page).to have_content(supplier.address)
|
||||
expect(page).to have_content(supplier.phone)
|
||||
expect(page).to have_content(supplier.email)
|
||||
end
|
||||
|
||||
it 'can be updated' do
|
||||
new_name = Faker::Company.name.truncate(30)
|
||||
supplier
|
||||
visit suppliers_path
|
||||
click_link I18n.t('ui.edit')
|
||||
fill_in I18n.t('activerecord.attributes.supplier.name'), with: new_name
|
||||
click_button 'Update Supplier'
|
||||
expect(supplier.reload.name).to eq new_name
|
||||
end
|
||||
|
||||
it 'can be destroyed' do
|
||||
supplier
|
||||
visit suppliers_path
|
||||
expect(page).to have_content(supplier.name)
|
||||
accept_confirm do
|
||||
click_link I18n.t('ui.delete')
|
||||
end
|
||||
expect(page).not_to have_content(supplier.name)
|
||||
expect(supplier.reload.deleted?).to be true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue