spec/tests/validations_spec.rb in attestor-2.1.0 vs spec/tests/validations_spec.rb in attestor-2.2.0

- old
+ new

@@ -127,9 +127,42 @@ end # context end # describe .validates + describe ".validations" do + + let(:options) { { only: :bar, except: :baz } } + let(:context_class) { Attestor::Validations::Context } + let(:context) { double validate: nil, validates: nil } + before { allow(context_class).to receive(:new) { context } } + + context "with a block" do + + after { test_class.validations(options) { validate :foo } } + + it "initializes a context group" do + expect(context_class).to receive(:new).with(test_class, options) + end + + it "calls the block in a context's scope" do + expect(context).to receive(:validate).with(:foo) + end + + end # context + + context "without a block" do + + after { test_class.validations(options) } + + it "does nothing" do + expect(context_class).not_to receive(:new) + end + + end # context + + end # describe .validations + describe "#invalid" do shared_examples "raising an error" do |name, options = {}| let(:message) { double }