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