Sha256: 56484a043d841dc9c34d4b5bc15f9d23efff1f52b3029d5592708e1e14988e39
Contents?: true
Size: 1.95 KB
Versions: 16
Compression:
Stored size: 1.95 KB
Contents
RSpec.shared_examples "subscription validations" do context "when validating" do it "is invalid without an id" do model = build_subscription(id: "") model.validate expect(model.errors[:id]).to contain_exactly("can't be blank") end it "is invalid without a subscription_group_id" do model = build_subscription(subscription_group_id: "") model.validate expect(model.errors[:subscription_group_id]).to contain_exactly("can't be blank") end it "is invalid with a blank query" do model = build_subscription(query: "") model.validate expect(model.errors[:query]).to contain_exactly("can't be blank") end it "is invalid with blank schema_key" do model = build_subscription(schema_key: "") model.validate expect(model.errors[:schema_key]).to contain_exactly("can't be blank") end it "is invalid with an invalid schema_key" do model = build_subscription(schema_key: "invalid") model.validate expect(model.errors[:query]).to contain_exactly(/Could not find a schema for schema_key 'invalid'/) end it "is invalid with an invalid query" do model = build_subscription( query: subscription_query(query: "foo { a_field_that_does_not_exist }") ) model.validate expect(model).not_to be_valid expect(model.errors[:query]).to contain_exactly( match(/Field 'a_field_that_does_not_exist' doesn't exist on type 'testObject'/) ) end it "valid with a valid query" do model = build_subscription( query: subscription_query(query: "foo { id }") ) model.validate expect(model.errors).not_to include(:query) end end def build_subscription(overrides = {}) attrs = { id: SecureRandom.uuid, subscription_group_id: SecureRandom.uuid, schema_key: "test", query: subscription_query }.merge(overrides) described_class.new(attrs) end end
Version data entries
16 entries across 16 versions & 1 rubygems