Sha256: e4e96f7c09c7aed2d73e6aa485aedd9037e3bd3d034bfaba576969d43d9448d1
Contents?: true
Size: 1.05 KB
Versions: 11
Compression:
Stored size: 1.05 KB
Contents
require 'rails_helper' RSpec.describe Spree::Calculator, type: :model do class SimpleCalculator < Spree::Calculator def compute_simple_computable(_line_item) 'computed' end end class SimpleComputable end describe "#calculators" do subject { Spree::Calculator.calculators } it 'returns the (deprecated) calculator step' do Spree::Deprecation.silence do expect(subject).to be_a Spree::Core::Environment::Calculators end end end context "with computable" do let(:calculator) { SimpleCalculator.new } let(:computable) { SimpleComputable.new } subject { SimpleCalculator.new.compute computable } it 'calls compute method of class type' do expect(subject).to eq 'computed' end context 'computable does not implement right function name' do let(:computable) { Spree::LineItem.new } it 'raises an error' do expect { subject }.to raise_error NotImplementedError, /Please implement \'compute_line_item\(line_item\)\' in your calculator/ end end end end
Version data entries
11 entries across 11 versions & 1 rubygems