mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-14 21:24:54 +08:00
1c21e11510
* Initial test for stock management * Repository stock values adding [does not work] SCI-6420 * Fix typos SCI-6420 * Fix test [SCI-6420] * Test changes [SCI-6402] * Remove locking test [SCI-6420] * Remove lock [SCI-6420] * Remove serializer [SCI-6420] * Fix stock test and add ledger creation on consume [SCI-6420]
51 lines
1.8 KiB
Ruby
51 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe MyModuleRepositoryRow, type: :model do
|
|
let(:my_module_repository_row) { build :mm_repository_row }
|
|
|
|
let(:user) { create :user }
|
|
let(:repository_stock_value) { create :repository_stock_value }
|
|
|
|
let(:repository_row) { create :repository_row, repository_stock_value: repository_stock_value }
|
|
let(:my_module_repository_row_stock) { create :mm_repository_row,
|
|
repository_row: repository_row,
|
|
assigned_by: user,
|
|
last_modified_by: user
|
|
}
|
|
|
|
it 'is valid' do
|
|
expect(my_module_repository_row).to be_valid
|
|
end
|
|
|
|
it 'should be of class MyModuleRepositoryRow' do
|
|
expect(subject.class).to eq MyModuleRepositoryRow
|
|
end
|
|
|
|
describe 'Database table' do
|
|
it { should have_db_column :id }
|
|
it { should have_db_column :repository_row_id }
|
|
it { should have_db_column :repository_stock_unit_item_id }
|
|
it { should have_db_column :stock_consumption }
|
|
it { should have_db_column :my_module_id }
|
|
it { should have_db_column :assigned_by_id }
|
|
it { should have_db_column :created_at }
|
|
it { should have_db_column :updated_at }
|
|
end
|
|
|
|
describe 'Relations' do
|
|
it { should belong_to(:my_module) }
|
|
it { should belong_to(:repository_stock_unit_item).optional }
|
|
it { should belong_to(:assigned_by).class_name('User').optional }
|
|
it { should belong_to(:repository_row) }
|
|
end
|
|
|
|
describe 'Repository ledger record' do
|
|
it 'Ledger creation on changed consumption' do
|
|
my_module_repository_row_stock.stock_consumption = 10.0
|
|
expect { my_module_repository_row_stock.save! }
|
|
.to change(RepositoryLedgerRecord, :count).by(1)
|
|
end
|
|
end
|
|
end
|