This gem contains of several testing one-liners for neo4j gem.
Add line into your Gemfile:
gem "neo4j-rspec"or install it directly
gem install neo4j-rspec
Then configure it in your spec_helper (or rails_helper):
RSpec.configure do |config|
config.include Neo4j::RSpec::Matchers
# ... other configuration ...
end-
Properties
it { is_expected.to define_property :general } it { is_expected.to define_property :string, :String } it { is_expected.to define_property :boolean, :Boolean } it { is_expected.to define_property :boolean, :'Neo4j::Shared::Boolean' } -
Relationships
it { is_expected.to have_many(:comments) } it { is_expected.to have_many(:comments).with_direction(:in) } it { is_expected.to have_many(:comments).with_direction(:in).with_origin(:post) } it { is_expected.to have_many(:written_things).with_direction(:in).without_type.with_model_class([:Post, :Comment]) } -
Constraints
it { is_expected.to define_constraint :name, :unique } -
Indexes
# DEPRECATED! Newer version of the `neo4j` gem no longer support defining indexes on the model it { is_expected.to define_index(:index_name) } -
Tracking
it { is_expected.to track_creations } # `created_at` it { is_expected.to track_modifications } # `updated_at`
-
Directions
it { is_expected.to come_from(:Person) } it { is_expected.to lead_to(:any) } -
Types
it { is_expected.to have_relationship_type("WROTE") } -
Create Unique
it { is_expected.to use_create_unique } it { is_expected.to use_create_unique(:all) } it { is_expected.to use_create_unique(on: [:key1, :key2]) }
Welcome! Feel free to post an issue. Contributions are welcome too.