Sha256: 02659bd0dd5564ededb4fc2e763d2b5ce8994cd04f4d9f4ad19ffe959177f93a
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
require "rails_helper" module Strain RSpec.describe Variant, type: :model do it "has a valid factory" do expect(build(:variant)).to be_valid end it "is invalid without a name" do expect(build(:variant, name: nil)).to be_invalid end it "is invalid without a Schema" do expect(build(:variant, schema: nil)).to be_invalid expect(build(:variant, schema: {})).to be_invalid end it "is invalid with an invalid JSON Schema" do expect(build(:variant, schema: {"type": "nonsense"})).to be_invalid end it "raises a database error with a nonunique name" do a = create(:variant) b = build(:variant, name: a.name) expect {b.save(validate: false)}.to raise_error(ActiveRecord::RecordNotUnique) end it "is invalid with a nonunique name" do a = create(:variant) b = build(:variant, name: a.name) expect(b).to be_invalid end it "is invalid unless root schema type is object" do a = build(:variant, schema: {"type": "string"}) expect(a).to be_invalid expect(a.errors.messages[:schema]).to include("must have an object as root element.") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
strain-0.0.2 | spec/models/strain/variant_spec.rb |
strain-0.0.1 | spec/models/strain/variant_spec.rb |