* Update test csvs * Fix count filters and refactor apply_filters * Update party_querying_concern.rb * +tests/-debug logs * Make party association optional in Job * Updates for weapon series - Change to new series numbers - Add static method for querying whether the weapon's element is changeable - Add a new method to return a text slug for the weapon's series * Add and update test data - Updates canonical.rb for loading multiple types of data with multiple types of associations - Adds test data for Guidebooks, Job Accessories, Job Skills, and Jobs - Updates test data for Weapons and Summons * Migrations - Adds series of migrations for changing the weapon's series to the values used by Cygames - Shuffled around some foreign keys * Implement BaseProcessor Processors are in charge of processing deck data straight from Granblue. * Implement CharacterProcessor Process character data from deck * Implement WeaponProcessor Process weapon data from deck * Implement JobProcessor Process job, job skill, and job accessory data from deck * Implement SummonProcessor Process summon data from deck * Update SummonProcessor to work like the others * ImportController should use processors * Process element for changeable weapons
45 lines
1.2 KiB
Ruby
45 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
require 'rails_helper'
|
|
|
|
module Processors
|
|
class DummyBaseProcessor < BaseProcessor
|
|
# A dummy implementation of process.
|
|
def process
|
|
"processed"
|
|
end
|
|
|
|
# Expose the protected log method as public for testing.
|
|
def public_log(message)
|
|
log(message)
|
|
end
|
|
end
|
|
end
|
|
|
|
RSpec.describe Processors::DummyBaseProcessor, type: :model do
|
|
# Note: BaseProcessor.new expects (party, data, options = {})
|
|
let(:dummy_party) { nil }
|
|
let(:dummy_data) { {} }
|
|
let(:processor) { described_class.new(dummy_party, dummy_data) }
|
|
|
|
describe '#process' do
|
|
it 'returns the dummy processed value' do
|
|
expect(processor.process).to eq("processed")
|
|
end
|
|
end
|
|
|
|
describe '#public_log' do
|
|
it 'logs a message containing the processor class name' do
|
|
message = "Test log message"
|
|
expect(Rails.logger).to receive(:info).with(a_string_including("DummyBaseProcessor", message))
|
|
processor.public_log(message)
|
|
end
|
|
end
|
|
|
|
after(:each) do |example|
|
|
if example.exception
|
|
puts "\nDEBUG [DummyBaseProcessor]: #{example.full_description} failed with error: #{example.exception.message}"
|
|
end
|
|
end
|
|
end
|