spec/models/uuids/uuid_spec.rb in uuids-1.0.0.pre.rc1 vs spec/models/uuids/uuid_spec.rb in uuids-1.0.0

- old
+ new

@@ -3,17 +3,22 @@ module Uuids describe Uuid do describe "#value" do - it "is set by default" do - expect(subject.value).not_to be_blank + before { subject.record = create(:record) } + + it "can be assigned manually" do + value = SecureRandom.uuid + subject.value = value + subject.save! + expect(subject.reload.value).to eq value end - it "is a valid uuid" do - UUID_FORMAT = /[a-z\d]{8}-[a-z\d]{4}-[a-z\d]{4}-[a-z\d]{4}-[a-z\d]{12}/ - expect(subject.value).to match UUID_FORMAT + it "assigned by default" do + subject.save! + expect(subject.value).not_to be_blank end end describe "#value=" do @@ -42,14 +47,19 @@ end end describe "#valid?" do - subject { create :uuid } + subject { build :uuid } before { expect(subject).to be_valid } - it "fails with blank #record" do + it "fails without a #record" do subject.record = nil + expect(subject).not_to be_valid + end + + it "fails with wrong value" do + subject.value = "not a valid uuid" expect(subject).not_to be_valid end end describe "#destroy!" do