mongoid 7.3.2 → 7.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +17 -17
- data/README.md +2 -2
- data/lib/config/locales/en.yml +30 -16
- data/lib/mongoid/association/accessors.rb +0 -27
- data/lib/mongoid/association/bindable.rb +0 -21
- data/lib/mongoid/association/builders.rb +0 -9
- data/lib/mongoid/association/constrainable.rb +0 -3
- data/lib/mongoid/association/depending.rb +0 -7
- data/lib/mongoid/association/eager_loadable.rb +0 -3
- data/lib/mongoid/association/embedded/batchable.rb +11 -39
- data/lib/mongoid/association/embedded/cyclic.rb +2 -11
- data/lib/mongoid/association/embedded/embedded_in/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embedded_in/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embedded_in/proxy.rb +0 -13
- data/lib/mongoid/association/embedded/embedded_in.rb +0 -23
- data/lib/mongoid/association/embedded/embeds_many/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embeds_many/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embeds_many/proxy.rb +31 -44
- data/lib/mongoid/association/embedded/embeds_many.rb +0 -31
- data/lib/mongoid/association/embedded/embeds_one/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embeds_one/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embeds_one/proxy.rb +26 -14
- data/lib/mongoid/association/embedded/embeds_one.rb +0 -27
- data/lib/mongoid/association/embedded.rb +0 -1
- data/lib/mongoid/association/macros.rb +6 -5
- data/lib/mongoid/association/many.rb +0 -17
- data/lib/mongoid/association/marshalable.rb +0 -5
- data/lib/mongoid/association/nested/many.rb +0 -11
- data/lib/mongoid/association/nested/nested_buildable.rb +0 -9
- data/lib/mongoid/association/nested/one.rb +1 -16
- data/lib/mongoid/association/nested.rb +0 -3
- data/lib/mongoid/association/one.rb +1 -10
- data/lib/mongoid/association/options.rb +0 -33
- data/lib/mongoid/association/proxy.rb +0 -21
- data/lib/mongoid/association/referenced/auto_save.rb +0 -9
- data/lib/mongoid/association/referenced/belongs_to/binding.rb +0 -7
- data/lib/mongoid/association/referenced/belongs_to/buildable.rb +4 -5
- data/lib/mongoid/association/referenced/belongs_to/eager.rb +0 -1
- data/lib/mongoid/association/referenced/belongs_to/proxy.rb +0 -13
- data/lib/mongoid/association/referenced/belongs_to.rb +9 -34
- data/lib/mongoid/association/referenced/counter_cache.rb +2 -15
- data/lib/mongoid/association/referenced/eager.rb +3 -24
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/binding.rb +0 -5
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb +0 -3
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +12 -39
- data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +11 -38
- data/lib/mongoid/association/referenced/has_many/binding.rb +0 -5
- data/lib/mongoid/association/referenced/has_many/buildable.rb +0 -3
- data/lib/mongoid/association/referenced/has_many/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_many/enumerable.rb +11 -63
- data/lib/mongoid/association/referenced/has_many/proxy.rb +18 -61
- data/lib/mongoid/association/referenced/has_many.rb +12 -39
- data/lib/mongoid/association/referenced/has_one/binding.rb +0 -7
- data/lib/mongoid/association/referenced/has_one/buildable.rb +3 -4
- data/lib/mongoid/association/referenced/has_one/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_one/nested_builder.rb +0 -15
- data/lib/mongoid/association/referenced/has_one/proxy.rb +0 -9
- data/lib/mongoid/association/referenced/has_one.rb +9 -32
- data/lib/mongoid/association/referenced/syncable.rb +0 -17
- data/lib/mongoid/association/referenced.rb +0 -1
- data/lib/mongoid/association/reflections.rb +0 -1
- data/lib/mongoid/association/relatable.rb +2 -61
- data/lib/mongoid/association.rb +0 -17
- data/lib/mongoid/atomic/modifiers.rb +4 -51
- data/lib/mongoid/atomic/paths/embedded/many.rb +0 -5
- data/lib/mongoid/atomic/paths/embedded/one.rb +0 -5
- data/lib/mongoid/atomic/paths/embedded.rb +0 -3
- data/lib/mongoid/atomic/paths/root.rb +0 -5
- data/lib/mongoid/atomic/paths.rb +0 -1
- data/lib/mongoid/atomic.rb +27 -44
- data/lib/mongoid/attributes/dynamic.rb +0 -17
- data/lib/mongoid/attributes/nested.rb +0 -5
- data/lib/mongoid/attributes/processing.rb +1 -18
- data/lib/mongoid/attributes/projector.rb +0 -1
- data/lib/mongoid/attributes/readonly.rb +0 -5
- data/lib/mongoid/attributes.rb +0 -33
- data/lib/mongoid/cacheable.rb +1 -6
- data/lib/mongoid/changeable.rb +3 -59
- data/lib/mongoid/clients/factory.rb +0 -7
- data/lib/mongoid/clients/options.rb +0 -5
- data/lib/mongoid/clients/sessions.rb +0 -7
- data/lib/mongoid/clients/storage_options.rb +0 -7
- data/lib/mongoid/clients/validators/storage.rb +0 -9
- data/lib/mongoid/clients/validators.rb +0 -1
- data/lib/mongoid/clients.rb +0 -9
- data/lib/mongoid/composable.rb +0 -7
- data/lib/mongoid/config/environment.rb +13 -6
- data/lib/mongoid/config/options.rb +0 -11
- data/lib/mongoid/config/validators/client.rb +0 -17
- data/lib/mongoid/config/validators/option.rb +0 -3
- data/lib/mongoid/config/validators.rb +0 -1
- data/lib/mongoid/config.rb +37 -29
- data/lib/mongoid/contextual/aggregable/memory.rb +14 -11
- data/lib/mongoid/contextual/aggregable/mongo.rb +15 -20
- data/lib/mongoid/contextual/aggregable/none.rb +65 -0
- data/lib/mongoid/contextual/aggregable.rb +17 -0
- data/lib/mongoid/contextual/atomic.rb +7 -27
- data/lib/mongoid/contextual/command.rb +0 -5
- data/lib/mongoid/contextual/geo_near.rb +1 -34
- data/lib/mongoid/contextual/map_reduce.rb +0 -31
- data/lib/mongoid/contextual/memory.rb +4 -59
- data/lib/mongoid/contextual/mongo.rb +132 -78
- data/lib/mongoid/contextual/none.rb +42 -28
- data/lib/mongoid/contextual/queryable.rb +0 -3
- data/lib/mongoid/contextual.rb +0 -5
- data/lib/mongoid/copyable.rb +0 -5
- data/lib/mongoid/criteria/findable.rb +0 -13
- data/lib/mongoid/criteria/includable.rb +0 -9
- data/lib/mongoid/criteria/inspectable.rb +0 -3
- data/lib/mongoid/criteria/marshalable.rb +0 -5
- data/lib/mongoid/criteria/modifiable.rb +0 -19
- data/lib/mongoid/criteria/options.rb +0 -3
- data/lib/mongoid/criteria/permission.rb +0 -1
- data/lib/mongoid/criteria/queryable/aggregable.rb +0 -13
- data/lib/mongoid/criteria/queryable/expandable.rb +0 -1
- data/lib/mongoid/criteria/queryable/extensions/array.rb +1 -26
- data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/boolean.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/date.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions/date_time.rb +0 -5
- data/lib/mongoid/criteria/queryable/extensions/hash.rb +0 -25
- data/lib/mongoid/criteria/queryable/extensions/nil_class.rb +0 -13
- data/lib/mongoid/criteria/queryable/extensions/numeric.rb +0 -11
- data/lib/mongoid/criteria/queryable/extensions/object.rb +1 -28
- data/lib/mongoid/criteria/queryable/extensions/range.rb +38 -16
- data/lib/mongoid/criteria/queryable/extensions/regexp.rb +0 -9
- data/lib/mongoid/criteria/queryable/extensions/set.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/string.rb +0 -17
- data/lib/mongoid/criteria/queryable/extensions/symbol.rb +0 -9
- data/lib/mongoid/criteria/queryable/extensions/time.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions.rb +0 -1
- data/lib/mongoid/criteria/queryable/key.rb +1 -14
- data/lib/mongoid/criteria/queryable/macroable.rb +0 -3
- data/lib/mongoid/criteria/queryable/mergeable.rb +1 -30
- data/lib/mongoid/criteria/queryable/optional.rb +0 -45
- data/lib/mongoid/criteria/queryable/options.rb +0 -19
- data/lib/mongoid/criteria/queryable/pipeline.rb +0 -13
- data/lib/mongoid/criteria/queryable/selectable.rb +22 -69
- data/lib/mongoid/criteria/queryable/selector.rb +0 -17
- data/lib/mongoid/criteria/queryable/smash.rb +0 -11
- data/lib/mongoid/criteria/queryable/storable.rb +11 -7
- data/lib/mongoid/criteria/queryable.rb +0 -7
- data/lib/mongoid/criteria/scopable.rb +25 -19
- data/lib/mongoid/criteria.rb +0 -57
- data/lib/mongoid/document.rb +3 -53
- data/lib/mongoid/equality.rb +26 -10
- data/lib/mongoid/errors/ambiguous_relationship.rb +2 -5
- data/lib/mongoid/errors/callback.rb +0 -3
- data/lib/mongoid/errors/criteria_argument_required.rb +0 -1
- data/lib/mongoid/errors/delete_restriction.rb +0 -3
- data/lib/mongoid/errors/document_not_destroyed.rb +2 -7
- data/lib/mongoid/errors/document_not_found.rb +0 -9
- data/lib/mongoid/errors/eager_load.rb +0 -3
- data/lib/mongoid/errors/empty_config_file.rb +25 -0
- data/lib/mongoid/errors/in_memory_collation_not_supported.rb +0 -3
- data/lib/mongoid/errors/invalid_collection.rb +0 -1
- data/lib/mongoid/errors/invalid_config_file.rb +25 -0
- data/lib/mongoid/errors/invalid_config_option.rb +0 -3
- data/lib/mongoid/errors/invalid_dependent_strategy.rb +0 -3
- data/lib/mongoid/errors/invalid_discriminator_key_target.rb +0 -1
- data/lib/mongoid/errors/invalid_elem_match_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_estimated_count_criteria.rb +0 -1
- data/lib/mongoid/errors/invalid_expression_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_field.rb +0 -5
- data/lib/mongoid/errors/invalid_field_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_field_option.rb +0 -3
- data/lib/mongoid/errors/invalid_find.rb +0 -3
- data/lib/mongoid/errors/invalid_includes.rb +0 -3
- data/lib/mongoid/errors/invalid_index.rb +0 -3
- data/lib/mongoid/errors/invalid_options.rb +0 -3
- data/lib/mongoid/errors/invalid_path.rb +0 -3
- data/lib/mongoid/errors/invalid_persistence_option.rb +0 -5
- data/lib/mongoid/errors/invalid_query.rb +0 -1
- data/lib/mongoid/errors/invalid_relation.rb +0 -7
- data/lib/mongoid/errors/invalid_relation_option.rb +0 -3
- data/lib/mongoid/errors/invalid_scope.rb +0 -3
- data/lib/mongoid/errors/invalid_session_use.rb +1 -6
- data/lib/mongoid/errors/invalid_set_polymorphic_relation.rb +0 -1
- data/lib/mongoid/errors/invalid_storage_options.rb +0 -3
- data/lib/mongoid/errors/invalid_storage_parent.rb +0 -3
- data/lib/mongoid/errors/invalid_time.rb +0 -3
- data/lib/mongoid/errors/invalid_value.rb +0 -1
- data/lib/mongoid/errors/inverse_not_found.rb +0 -3
- data/lib/mongoid/errors/mixed_client_configuration.rb +0 -3
- data/lib/mongoid/errors/mixed_relations.rb +0 -3
- data/lib/mongoid/errors/mongoid_error.rb +0 -9
- data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +0 -3
- data/lib/mongoid/errors/no_client_config.rb +0 -3
- data/lib/mongoid/errors/no_client_database.rb +0 -3
- data/lib/mongoid/errors/no_client_hosts.rb +0 -3
- data/lib/mongoid/errors/no_clients_config.rb +0 -3
- data/lib/mongoid/errors/no_default_client.rb +0 -3
- data/lib/mongoid/errors/no_environment.rb +0 -3
- data/lib/mongoid/errors/no_map_reduce_output.rb +0 -3
- data/lib/mongoid/errors/no_metadata.rb +0 -3
- data/lib/mongoid/errors/no_parent.rb +0 -3
- data/lib/mongoid/errors/readonly_attribute.rb +0 -3
- data/lib/mongoid/errors/readonly_document.rb +1 -6
- data/lib/mongoid/errors/scope_overwrite.rb +0 -1
- data/lib/mongoid/errors/too_many_nested_attribute_records.rb +0 -1
- data/lib/mongoid/errors/unknown_attribute.rb +0 -3
- data/lib/mongoid/errors/unknown_model.rb +0 -3
- data/lib/mongoid/errors/unsaved_document.rb +1 -2
- data/lib/mongoid/errors/unsupported_javascript.rb +0 -3
- data/lib/mongoid/errors/validations.rb +0 -1
- data/lib/mongoid/errors.rb +2 -1
- data/lib/mongoid/evolvable.rb +0 -3
- data/lib/mongoid/extensions/array.rb +3 -29
- data/lib/mongoid/extensions/big_decimal.rb +0 -11
- data/lib/mongoid/extensions/boolean.rb +0 -3
- data/lib/mongoid/extensions/date.rb +0 -9
- data/lib/mongoid/extensions/date_time.rb +0 -9
- data/lib/mongoid/extensions/decimal128.rb +0 -5
- data/lib/mongoid/extensions/false_class.rb +1 -6
- data/lib/mongoid/extensions/float.rb +0 -7
- data/lib/mongoid/extensions/hash.rb +0 -27
- data/lib/mongoid/extensions/integer.rb +0 -9
- data/lib/mongoid/extensions/module.rb +0 -3
- data/lib/mongoid/extensions/nil_class.rb +0 -5
- data/lib/mongoid/extensions/object.rb +1 -40
- data/lib/mongoid/extensions/object_id.rb +0 -7
- data/lib/mongoid/extensions/range.rb +0 -11
- data/lib/mongoid/extensions/regexp.rb +0 -3
- data/lib/mongoid/extensions/set.rb +0 -7
- data/lib/mongoid/extensions/string.rb +1 -30
- data/lib/mongoid/extensions/symbol.rb +0 -7
- data/lib/mongoid/extensions/time.rb +0 -11
- data/lib/mongoid/extensions/time_with_zone.rb +13 -9
- data/lib/mongoid/extensions/true_class.rb +1 -6
- data/lib/mongoid/extensions.rb +15 -3
- data/lib/mongoid/factory.rb +1 -2
- data/lib/mongoid/fields/foreign_key.rb +0 -21
- data/lib/mongoid/fields/localized.rb +0 -11
- data/lib/mongoid/fields/standard.rb +0 -33
- data/lib/mongoid/fields/validators/macro.rb +0 -9
- data/lib/mongoid/fields/validators.rb +0 -1
- data/lib/mongoid/fields.rb +64 -57
- data/lib/mongoid/findable.rb +0 -5
- data/lib/mongoid/indexable/specification.rb +0 -15
- data/lib/mongoid/indexable/validators/options.rb +0 -7
- data/lib/mongoid/indexable.rb +1 -18
- data/lib/mongoid/inspectable.rb +1 -10
- data/lib/mongoid/interceptable.rb +0 -25
- data/lib/mongoid/loggable.rb +0 -9
- data/lib/mongoid/matchable.rb +0 -5
- data/lib/mongoid/matcher/eq_impl.rb +37 -2
- data/lib/mongoid/matcher/eq_impl_with_regexp.rb +6 -1
- data/lib/mongoid/persistable/creatable.rb +1 -20
- data/lib/mongoid/persistable/deletable.rb +0 -17
- data/lib/mongoid/persistable/destroyable.rb +0 -7
- data/lib/mongoid/persistable/incrementable.rb +0 -5
- data/lib/mongoid/persistable/logical.rb +0 -5
- data/lib/mongoid/persistable/poppable.rb +0 -5
- data/lib/mongoid/persistable/pullable.rb +0 -7
- data/lib/mongoid/persistable/pushable.rb +0 -7
- data/lib/mongoid/persistable/renamable.rb +0 -5
- data/lib/mongoid/persistable/savable.rb +0 -7
- data/lib/mongoid/persistable/settable.rb +0 -5
- data/lib/mongoid/persistable/unsettable.rb +0 -5
- data/lib/mongoid/persistable/updatable.rb +2 -17
- data/lib/mongoid/persistable/upsertable.rb +0 -7
- data/lib/mongoid/persistable.rb +0 -23
- data/lib/mongoid/persistence_context.rb +3 -28
- data/lib/mongoid/positional.rb +0 -5
- data/lib/mongoid/query_cache.rb +11 -34
- data/lib/mongoid/railtie.rb +0 -15
- data/lib/mongoid/railties/controller_runtime.rb +0 -1
- data/lib/mongoid/reloadable.rb +4 -16
- data/lib/mongoid/scopable.rb +6 -34
- data/lib/mongoid/selectable.rb +0 -9
- data/lib/mongoid/serializable.rb +0 -15
- data/lib/mongoid/shardable.rb +0 -7
- data/lib/mongoid/stateful.rb +0 -9
- data/lib/mongoid/stringified_symbol.rb +2 -3
- data/lib/mongoid/tasks/database.rb +1 -6
- data/lib/mongoid/threaded/lifecycle.rb +0 -21
- data/lib/mongoid/threaded.rb +0 -55
- data/lib/mongoid/timestamps/created/short.rb +0 -1
- data/lib/mongoid/timestamps/created.rb +0 -1
- data/lib/mongoid/timestamps/short.rb +0 -1
- data/lib/mongoid/timestamps/timeless.rb +0 -7
- data/lib/mongoid/timestamps/updated/short.rb +0 -1
- data/lib/mongoid/timestamps/updated.rb +0 -3
- data/lib/mongoid/timestamps.rb +0 -1
- data/lib/mongoid/touchable.rb +10 -7
- data/lib/mongoid/traversable.rb +64 -53
- data/lib/mongoid/validatable/associated.rb +0 -3
- data/lib/mongoid/validatable/format.rb +0 -1
- data/lib/mongoid/validatable/length.rb +0 -1
- data/lib/mongoid/validatable/localizable.rb +0 -3
- data/lib/mongoid/validatable/macros.rb +0 -7
- data/lib/mongoid/validatable/presence.rb +1 -8
- data/lib/mongoid/validatable/queryable.rb +0 -3
- data/lib/mongoid/validatable/uniqueness.rb +15 -30
- data/lib/mongoid/validatable.rb +1 -22
- data/lib/mongoid/version.rb +1 -2
- data/lib/mongoid.rb +0 -15
- data/lib/rails/generators/mongoid/config/config_generator.rb +0 -1
- data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
- data/lib/rails/generators/mongoid_generator.rb +0 -1
- data/lib/rails/mongoid.rb +0 -3
- data/spec/integration/app_spec.rb +0 -1
- data/spec/integration/associations/belongs_to_spec.rb +0 -1
- data/spec/integration/associations/embedded_dirty_spec.rb +29 -0
- data/spec/integration/associations/embedded_spec.rb +0 -1
- data/spec/integration/associations/embeds_many_spec.rb +139 -1
- data/spec/integration/associations/embeds_one_spec.rb +0 -1
- data/spec/integration/associations/foreign_key_spec.rb +0 -1
- data/spec/integration/associations/foreign_key_spec_models.rb +0 -1
- data/spec/integration/associations/has_many_spec.rb +0 -1
- data/spec/integration/associations/has_one_spec.rb +0 -1
- data/spec/integration/associations/nested_attributes_assignment_spec.rb +0 -1
- data/spec/integration/associations/reverse_population_spec.rb +0 -1
- data/spec/integration/associations/reverse_population_spec_models.rb +0 -1
- data/spec/integration/associations/scope_option_spec.rb +101 -0
- data/spec/integration/atomic/modifiers_spec.rb +0 -1
- data/spec/integration/bson_regexp_raw_spec.rb +0 -1
- data/spec/integration/callbacks_models.rb +12 -0
- data/spec/integration/callbacks_spec.rb +18 -6
- data/spec/integration/contextual/empty_spec.rb +141 -0
- data/spec/integration/criteria/alias_query_spec.rb +161 -0
- data/spec/integration/criteria/date_field_spec.rb +0 -1
- data/spec/integration/criteria/default_scope_spec.rb +51 -0
- data/spec/integration/criteria/logical_spec.rb +30 -0
- data/spec/integration/criteria/range_spec.rb +265 -0
- data/spec/integration/criteria/time_with_zone_spec.rb +125 -15
- data/spec/integration/discriminator_key_spec.rb +0 -1
- data/spec/integration/discriminator_value_spec.rb +0 -1
- data/spec/integration/document_spec.rb +0 -1
- data/spec/integration/i18n_fallbacks_spec.rb +0 -1
- data/spec/integration/matcher_examples_spec.rb +0 -1
- data/spec/integration/matcher_operator_spec.rb +27 -3
- data/spec/integration/matcher_spec.rb +95 -1
- data/spec/integration/server_query_spec.rb +0 -1
- data/spec/integration/shardable_spec.rb +0 -1
- data/spec/integration/stringified_symbol_field_spec.rb +16 -3
- data/spec/lite_spec_helper.rb +8 -2
- data/spec/mongoid/association/accessors_spec.rb +44 -15
- data/spec/mongoid/association/auto_save_spec.rb +72 -34
- data/spec/mongoid/association/builders_spec.rb +1 -2
- data/spec/mongoid/association/constrainable_spec.rb +0 -1
- data/spec/mongoid/association/counter_cache_spec.rb +32 -33
- data/spec/mongoid/association/depending_spec.rb +12 -13
- data/spec/mongoid/association/eager_spec.rb +4 -5
- data/spec/mongoid/association/embedded/cyclic_spec.rb +2 -3
- data/spec/mongoid/association/embedded/dirty_spec.rb +2 -3
- data/spec/mongoid/association/embedded/embedded_in/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embedded_in/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embedded_in/proxy_spec.rb +13 -14
- data/spec/mongoid/association/embedded/embedded_in_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +384 -135
- data/spec/mongoid/association/embedded/embeds_many_models.rb +16 -1
- data/spec/mongoid/association/embedded/embeds_many_query_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/proxy_spec.rb +21 -22
- data/spec/mongoid/association/embedded/embeds_one_dnl_models.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_models.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_query_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_spec.rb +0 -1
- data/spec/mongoid/association/macros_spec.rb +9 -10
- data/spec/mongoid/association/nested/many_spec.rb +0 -1
- data/spec/mongoid/association/nested/one_spec.rb +0 -1
- data/spec/mongoid/association/options_spec.rb +0 -1
- data/spec/mongoid/association/polymorphic_spec.rb +0 -1
- data/spec/mongoid/association/referenced/belongs_to/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/belongs_to/buildable_spec.rb +55 -17
- data/spec/mongoid/association/referenced/belongs_to/eager_spec.rb +50 -15
- data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +57 -53
- data/spec/mongoid/association/referenced/belongs_to_query_spec.rb +20 -1
- data/spec/mongoid/association/referenced/belongs_to_spec.rb +22 -2
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/buildable_spec.rb +26 -2
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/eager_spec.rb +31 -3
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_persistence_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +179 -154
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +18 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_many/eager_spec.rb +23 -7
- data/spec/mongoid/association/referenced/has_many/enumerable_spec.rb +303 -125
- data/spec/mongoid/association/referenced/has_many/proxy_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +227 -164
- data/spec/mongoid/association/referenced/has_many_models.rb +35 -1
- data/spec/mongoid/association/referenced/has_many_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_one/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +51 -8
- data/spec/mongoid/association/referenced/has_one/eager_spec.rb +17 -2
- data/spec/mongoid/association/referenced/has_one/proxy_spec.rb +26 -27
- data/spec/mongoid/association/referenced/has_one_models.rb +18 -1
- data/spec/mongoid/association/referenced/has_one_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_one_spec.rb +21 -1
- data/spec/mongoid/association/reflections_spec.rb +0 -1
- data/spec/mongoid/association/syncable_spec.rb +31 -32
- data/spec/mongoid/association_spec.rb +0 -1
- data/spec/mongoid/atomic/modifiers_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/embedded/many_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/embedded/one_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/root_spec.rb +0 -1
- data/spec/mongoid/atomic/paths_spec.rb +0 -1
- data/spec/mongoid/atomic_spec.rb +6 -7
- data/spec/mongoid/attributes/dynamic_spec.rb +0 -1
- data/spec/mongoid/attributes/nested_spec.rb +66 -67
- data/spec/mongoid/attributes/projector_spec.rb +5 -2
- data/spec/mongoid/attributes/readonly_spec.rb +22 -23
- data/spec/mongoid/attributes_spec.rb +32 -33
- data/spec/mongoid/cacheable_spec.rb +1 -2
- data/spec/mongoid/changeable_spec.rb +35 -36
- data/spec/mongoid/clients/factory_spec.rb +9 -4
- data/spec/mongoid/clients/options_spec.rb +15 -10
- data/spec/mongoid/clients/sessions_spec.rb +22 -23
- data/spec/mongoid/clients/transactions_spec.rb +49 -27
- data/spec/mongoid/clients_spec.rb +6 -7
- data/spec/mongoid/composable_spec.rb +0 -1
- data/spec/mongoid/config/environment_spec.rb +86 -9
- data/spec/mongoid/config/options_spec.rb +0 -1
- data/spec/mongoid/config_spec.rb +194 -17
- data/spec/mongoid/contextual/aggregable/memory_spec.rb +51 -12
- data/spec/mongoid/contextual/aggregable/mongo_spec.rb +120 -21
- data/spec/mongoid/contextual/aggregable/none_spec.rb +60 -0
- data/spec/mongoid/contextual/atomic_spec.rb +109 -71
- data/spec/mongoid/contextual/geo_near_spec.rb +18 -19
- data/spec/mongoid/contextual/map_reduce_spec.rb +2 -3
- data/spec/mongoid/contextual/memory_spec.rb +23 -24
- data/spec/mongoid/contextual/mongo_spec.rb +339 -77
- data/spec/mongoid/contextual/none_spec.rb +7 -82
- data/spec/mongoid/copyable_spec.rb +11 -12
- data/spec/mongoid/copyable_spec_models.rb +0 -1
- data/spec/mongoid/criteria/findable_spec.rb +23 -24
- data/spec/mongoid/criteria/inspectable_spec.rb +0 -1
- data/spec/mongoid/criteria/marshalable_spec.rb +0 -1
- data/spec/mongoid/criteria/modifiable_spec.rb +36 -37
- data/spec/mongoid/criteria/options_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/aggregable_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/expandable_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/bignum_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/boolean_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/float_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/integer_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/numeric_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/object_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/range_spec.rb +237 -179
- data/spec/mongoid/criteria/queryable/extensions/regexp_raw_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/regexp_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/set_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/symbol_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/key_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/mergeable_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/optional_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/options_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/pipeline_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/queryable_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/selectable_shared_examples.rb +0 -1
- data/spec/mongoid/criteria/queryable/selectable_spec.rb +15 -16
- data/spec/mongoid/criteria/queryable/selectable_where_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/selector_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/smash_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/storable_spec.rb +37 -1
- data/spec/mongoid/criteria/scopable_spec.rb +127 -1
- data/spec/mongoid/criteria_projection_spec.rb +3 -4
- data/spec/mongoid/criteria_spec.rb +546 -186
- data/spec/mongoid/document_fields_spec.rb +0 -1
- data/spec/mongoid/document_persistence_context_spec.rb +0 -1
- data/spec/mongoid/document_query_spec.rb +0 -1
- data/spec/mongoid/document_spec.rb +32 -34
- data/spec/mongoid/equality_spec.rb +142 -41
- data/spec/mongoid/errors/ambiguous_relationship_spec.rb +0 -1
- data/spec/mongoid/errors/callback_spec.rb +0 -1
- data/spec/mongoid/errors/delete_restriction_spec.rb +0 -1
- data/spec/mongoid/errors/document_not_destroyed_spec.rb +0 -1
- data/spec/mongoid/errors/document_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/eager_load_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_collection_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_config_file_spec.rb +31 -0
- data/spec/mongoid/errors/invalid_config_option_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_field_option_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_field_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_find_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_includes_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_index_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_options_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_path_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_relation_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_scope_spec.rb +1 -2
- data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_storage_options_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_time_spec.rb +0 -1
- data/spec/mongoid/errors/inverse_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/mixed_client_configuration_spec.rb +0 -1
- data/spec/mongoid/errors/mixed_relations_spec.rb +0 -1
- data/spec/mongoid/errors/mongoid_error_spec.rb +0 -1
- data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_config_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_database_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_hosts_spec.rb +0 -1
- data/spec/mongoid/errors/no_clients_config_spec.rb +0 -1
- data/spec/mongoid/errors/no_environment_spec.rb +0 -1
- data/spec/mongoid/errors/no_map_reduce_output_spec.rb +0 -1
- data/spec/mongoid/errors/no_metadata_spec.rb +0 -1
- data/spec/mongoid/errors/no_parent_spec.rb +0 -1
- data/spec/mongoid/errors/readonly_attribute_spec.rb +0 -1
- data/spec/mongoid/errors/readonly_document_spec.rb +0 -1
- data/spec/mongoid/errors/scope_overwrite_spec.rb +0 -1
- data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +0 -1
- data/spec/mongoid/errors/unknown_attribute_spec.rb +2 -3
- data/spec/mongoid/errors/unsaved_document_spec.rb +0 -1
- data/spec/mongoid/errors/unsupported_javascript_spec.rb +0 -1
- data/spec/mongoid/errors/validations_spec.rb +0 -1
- data/spec/mongoid/extensions/array_spec.rb +0 -1
- data/spec/mongoid/extensions/big_decimal_spec.rb +0 -1
- data/spec/mongoid/extensions/binary_spec.rb +0 -1
- data/spec/mongoid/extensions/boolean_spec.rb +0 -1
- data/spec/mongoid/extensions/date_class_mongoize_spec.rb +0 -1
- data/spec/mongoid/extensions/date_spec.rb +0 -1
- data/spec/mongoid/extensions/date_time_spec.rb +0 -1
- data/spec/mongoid/extensions/decimal128_spec.rb +0 -1
- data/spec/mongoid/extensions/false_class_spec.rb +0 -1
- data/spec/mongoid/extensions/float_spec.rb +0 -1
- data/spec/mongoid/extensions/hash_spec.rb +0 -1
- data/spec/mongoid/extensions/integer_spec.rb +0 -1
- data/spec/mongoid/extensions/module_spec.rb +0 -1
- data/spec/mongoid/extensions/nil_class_spec.rb +0 -1
- data/spec/mongoid/extensions/object_id_spec.rb +0 -1
- data/spec/mongoid/extensions/object_spec.rb +0 -1
- data/spec/mongoid/extensions/range_spec.rb +0 -1
- data/spec/mongoid/extensions/regexp_spec.rb +0 -1
- data/spec/mongoid/extensions/set_spec.rb +0 -1
- data/spec/mongoid/extensions/string_spec.rb +2 -3
- data/spec/mongoid/extensions/stringified_symbol_spec.rb +0 -1
- data/spec/mongoid/extensions/symbol_spec.rb +0 -1
- data/spec/mongoid/extensions/time_spec.rb +0 -1
- data/spec/mongoid/extensions/time_with_zone_spec.rb +0 -1
- data/spec/mongoid/extensions/true_class_spec.rb +0 -1
- data/spec/mongoid/extensions_spec.rb +14 -3
- data/spec/mongoid/factory_spec.rb +1 -1
- data/spec/mongoid/fields/foreign_key_spec.rb +0 -1
- data/spec/mongoid/fields/localized_spec.rb +0 -1
- data/spec/mongoid/fields/standard_spec.rb +0 -1
- data/spec/mongoid/fields_spec.rb +326 -31
- data/spec/mongoid/findable_spec.rb +21 -22
- data/spec/mongoid/indexable/specification_spec.rb +0 -1
- data/spec/mongoid/indexable_spec.rb +0 -1
- data/spec/mongoid/inspectable_spec.rb +0 -1
- data/spec/mongoid/interceptable_spec.rb +102 -95
- data/spec/mongoid/loggable_spec.rb +0 -1
- data/spec/mongoid/matcher/extract_attribute_spec.rb +5 -2
- data/spec/mongoid/persistable/creatable_spec.rb +2 -3
- data/spec/mongoid/persistable/deletable_spec.rb +18 -19
- data/spec/mongoid/persistable/destroyable_spec.rb +8 -9
- data/spec/mongoid/persistable/incrementable_spec.rb +8 -9
- data/spec/mongoid/persistable/logical_spec.rb +4 -5
- data/spec/mongoid/persistable/poppable_spec.rb +4 -5
- data/spec/mongoid/persistable/pullable_spec.rb +8 -9
- data/spec/mongoid/persistable/pushable_spec.rb +8 -9
- data/spec/mongoid/persistable/renamable_spec.rb +3 -4
- data/spec/mongoid/persistable/savable_spec.rb +15 -11
- data/spec/mongoid/persistable/settable_spec.rb +9 -10
- data/spec/mongoid/persistable/unsettable_spec.rb +4 -5
- data/spec/mongoid/persistable/updatable_spec.rb +43 -24
- data/spec/mongoid/persistable/upsertable_spec.rb +1 -2
- data/spec/mongoid/persistable_spec.rb +1 -2
- data/spec/mongoid/persistence_context_spec.rb +0 -1
- data/spec/mongoid/positional_spec.rb +0 -1
- data/spec/mongoid/query_cache_middleware_spec.rb +1 -2
- data/spec/mongoid/query_cache_spec.rb +56 -10
- data/spec/mongoid/relations/proxy_spec.rb +6 -7
- data/spec/mongoid/reloadable_spec.rb +209 -23
- data/spec/mongoid/scopable_spec.rb +65 -22
- data/spec/mongoid/selectable_spec.rb +6 -7
- data/spec/mongoid/serializable_spec.rb +9 -10
- data/spec/mongoid/shardable_spec.rb +2 -3
- data/spec/mongoid/stateful_spec.rb +1 -2
- data/spec/mongoid/tasks/database_rake_spec.rb +0 -1
- data/spec/mongoid/tasks/database_spec.rb +0 -1
- data/spec/mongoid/threaded_spec.rb +2 -3
- data/spec/mongoid/timestamps/created/short_spec.rb +1 -2
- data/spec/mongoid/timestamps/created_spec.rb +1 -2
- data/spec/mongoid/timestamps/timeless_spec.rb +2 -3
- data/spec/mongoid/timestamps/updated/short_spec.rb +3 -4
- data/spec/mongoid/timestamps/updated_spec.rb +3 -4
- data/spec/mongoid/timestamps_spec.rb +6 -7
- data/spec/mongoid/touchable_spec.rb +33 -20
- data/spec/mongoid/touchable_spec_models.rb +2 -1
- data/spec/mongoid/traversable_spec.rb +65 -2
- data/spec/mongoid/validatable/associated_spec.rb +0 -1
- data/spec/mongoid/validatable/format_spec.rb +0 -1
- data/spec/mongoid/validatable/length_spec.rb +0 -1
- data/spec/mongoid/validatable/numericality_spec.rb +0 -1
- data/spec/mongoid/validatable/presence_spec.rb +26 -23
- data/spec/mongoid/validatable/uniqueness_spec.rb +67 -68
- data/spec/mongoid/validatable_spec.rb +2 -3
- data/spec/mongoid_spec.rb +0 -1
- data/spec/rails/controller_extension/controller_runtime_spec.rb +0 -1
- data/spec/rails/mongoid_spec.rb +0 -1
- data/spec/shared/lib/mrss/cluster_config.rb +6 -1
- data/spec/shared/lib/mrss/constraints.rb +23 -5
- data/spec/shared/lib/mrss/docker_runner.rb +1 -1
- data/spec/shared/lib/mrss/event_subscriber.rb +200 -0
- data/spec/shared/lib/mrss/lite_constraints.rb +8 -0
- data/spec/shared/lib/mrss/server_version_registry.rb +17 -12
- data/spec/shared/lib/mrss/session_registry.rb +69 -0
- data/spec/shared/lib/mrss/session_registry_legacy.rb +60 -0
- data/spec/shared/share/Dockerfile.erb +27 -10
- data/spec/shared/shlib/distro.sh +2 -1
- data/spec/shared/shlib/server.sh +85 -23
- data/spec/shared/shlib/set_env.sh +6 -5
- data/spec/spec_helper.rb +12 -22
- data/spec/support/authorization.rb +0 -1
- data/spec/support/constraints.rb +0 -1
- data/spec/support/expectations.rb +0 -1
- data/spec/support/macros.rb +22 -1
- data/spec/support/models/account.rb +1 -2
- data/spec/support/models/acolyte.rb +0 -1
- data/spec/support/models/actor.rb +0 -1
- data/spec/support/models/actress.rb +0 -1
- data/spec/support/models/address.rb +0 -1
- data/spec/support/models/address_component.rb +0 -1
- data/spec/support/models/address_number.rb +0 -1
- data/spec/support/models/agency.rb +0 -1
- data/spec/support/models/agent.rb +0 -1
- data/spec/support/models/album.rb +0 -1
- data/spec/support/models/alert.rb +0 -1
- data/spec/support/models/animal.rb +0 -1
- data/spec/support/models/answer.rb +0 -1
- data/spec/support/models/appointment.rb +0 -1
- data/spec/support/models/armrest.rb +0 -1
- data/spec/support/models/array_field.rb +0 -1
- data/spec/support/models/article.rb +0 -1
- data/spec/support/models/artist.rb +2 -1
- data/spec/support/models/artwork.rb +0 -1
- data/spec/support/models/audible_sound.rb +3 -0
- data/spec/support/models/audio.rb +0 -1
- data/spec/support/models/augmentation.rb +0 -1
- data/spec/support/models/author.rb +0 -1
- data/spec/support/models/baby.rb +0 -1
- data/spec/support/models/band.rb +4 -1
- data/spec/support/models/bar.rb +0 -1
- data/spec/support/models/basic.rb +0 -1
- data/spec/support/models/bed.rb +0 -1
- data/spec/support/models/big_palette.rb +0 -1
- data/spec/support/models/birthday.rb +0 -1
- data/spec/support/models/bolt.rb +0 -1
- data/spec/support/models/bomb.rb +0 -1
- data/spec/support/models/book.rb +0 -1
- data/spec/support/models/breed.rb +0 -1
- data/spec/support/models/browser.rb +0 -1
- data/spec/support/models/building.rb +0 -1
- data/spec/support/models/building_address.rb +0 -1
- data/spec/support/models/bus.rb +0 -1
- data/spec/support/models/business.rb +0 -1
- data/spec/support/models/callback_test.rb +0 -1
- data/spec/support/models/canvas.rb +0 -1
- data/spec/support/models/car.rb +0 -1
- data/spec/support/models/cat.rb +0 -1
- data/spec/support/models/category.rb +0 -1
- data/spec/support/models/child.rb +0 -1
- data/spec/support/models/child_doc.rb +3 -4
- data/spec/support/models/church.rb +0 -1
- data/spec/support/models/circle.rb +0 -1
- data/spec/support/models/circuit.rb +0 -1
- data/spec/support/models/circus.rb +0 -1
- data/spec/support/models/code.rb +0 -1
- data/spec/support/models/coding/pull_request.rb +0 -1
- data/spec/support/models/coding.rb +0 -1
- data/spec/support/models/comment.rb +0 -1
- data/spec/support/models/company.rb +0 -1
- data/spec/support/models/consumption_period.rb +0 -1
- data/spec/support/models/contextable_item.rb +0 -1
- data/spec/support/models/contractor.rb +0 -1
- data/spec/support/models/cookie.rb +0 -1
- data/spec/support/models/country_code.rb +2 -1
- data/spec/support/models/courier_job.rb +0 -1
- data/spec/support/models/crate.rb +0 -1
- data/spec/support/models/customer.rb +0 -1
- data/spec/support/models/customer_address.rb +0 -1
- data/spec/support/models/deed.rb +0 -1
- data/spec/support/models/definition.rb +0 -1
- data/spec/support/models/delegating_patient.rb +0 -1
- data/spec/support/models/description.rb +0 -1
- data/spec/support/models/dictionary.rb +0 -1
- data/spec/support/models/division.rb +0 -1
- data/spec/support/models/doctor.rb +0 -1
- data/spec/support/models/dog.rb +0 -1
- data/spec/support/models/dokument.rb +0 -1
- data/spec/support/models/draft.rb +0 -1
- data/spec/support/models/dragon.rb +0 -1
- data/spec/support/models/driver.rb +0 -1
- data/spec/support/models/drug.rb +0 -1
- data/spec/support/models/dungeon.rb +0 -1
- data/spec/support/models/edit.rb +0 -1
- data/spec/support/models/email.rb +0 -1
- data/spec/support/models/employer.rb +0 -1
- data/spec/support/models/entry.rb +0 -1
- data/spec/support/models/eraser.rb +0 -1
- data/spec/support/models/even.rb +0 -1
- data/spec/support/models/event.rb +0 -1
- data/spec/support/models/exhibition.rb +0 -1
- data/spec/support/models/exhibitor.rb +0 -1
- data/spec/support/models/explosion.rb +0 -1
- data/spec/support/models/eye.rb +0 -1
- data/spec/support/models/eye_bowl.rb +0 -1
- data/spec/support/models/face.rb +0 -1
- data/spec/support/models/favorite.rb +0 -1
- data/spec/support/models/filesystem.rb +0 -1
- data/spec/support/models/fire_hydrant.rb +0 -1
- data/spec/support/models/firefox.rb +0 -1
- data/spec/support/models/fish.rb +0 -1
- data/spec/support/models/folder.rb +0 -1
- data/spec/support/models/folder_item.rb +0 -1
- data/spec/support/models/fruits.rb +0 -1
- data/spec/support/models/game.rb +0 -1
- data/spec/support/models/ghost.rb +0 -1
- data/spec/support/models/guitar.rb +0 -1
- data/spec/support/models/hole.rb +0 -1
- data/spec/support/models/home.rb +0 -1
- data/spec/support/models/house.rb +0 -1
- data/spec/support/models/html_writer.rb +0 -1
- data/spec/support/models/id_key.rb +0 -1
- data/spec/support/models/idnodef.rb +0 -1
- data/spec/support/models/image.rb +0 -1
- data/spec/support/models/implant.rb +0 -1
- data/spec/support/models/instrument.rb +0 -1
- data/spec/support/models/item.rb +0 -1
- data/spec/support/models/jar.rb +0 -1
- data/spec/support/models/kaleidoscope.rb +0 -1
- data/spec/support/models/kangaroo.rb +0 -1
- data/spec/support/models/label.rb +2 -2
- data/spec/support/models/language.rb +0 -1
- data/spec/support/models/lat_lng.rb +0 -1
- data/spec/support/models/league.rb +0 -1
- data/spec/support/models/learner.rb +0 -1
- data/spec/support/models/line_item.rb +0 -1
- data/spec/support/models/location.rb +0 -1
- data/spec/support/models/login.rb +0 -1
- data/spec/support/models/manufacturer.rb +0 -1
- data/spec/support/models/meat.rb +0 -1
- data/spec/support/models/membership.rb +0 -1
- data/spec/support/models/message.rb +0 -1
- data/spec/support/models/minim.rb +0 -1
- data/spec/support/models/mixed_drink.rb +0 -1
- data/spec/support/models/mop.rb +0 -1
- data/spec/support/models/movie.rb +0 -1
- data/spec/support/models/my_hash.rb +0 -1
- data/spec/support/models/name.rb +0 -1
- data/spec/support/models/name_only.rb +0 -1
- data/spec/support/models/node.rb +0 -1
- data/spec/support/models/note.rb +0 -1
- data/spec/support/models/nut.rb +0 -1
- data/spec/support/models/odd.rb +0 -1
- data/spec/support/models/order.rb +2 -1
- data/spec/support/models/ordered_post.rb +1 -2
- data/spec/support/models/ordered_preference.rb +0 -1
- data/spec/support/models/oscar.rb +0 -1
- data/spec/support/models/other_owner_object.rb +0 -1
- data/spec/support/models/override.rb +0 -1
- data/spec/support/models/ownable.rb +0 -1
- data/spec/support/models/owner.rb +0 -1
- data/spec/support/models/pack.rb +0 -1
- data/spec/support/models/page.rb +0 -1
- data/spec/support/models/page_question.rb +0 -1
- data/spec/support/models/palette.rb +0 -1
- data/spec/support/models/parent.rb +0 -1
- data/spec/support/models/parent_doc.rb +0 -1
- data/spec/support/models/passport.rb +5 -1
- data/spec/support/models/patient.rb +0 -1
- data/spec/support/models/pdf_writer.rb +0 -1
- data/spec/support/models/pencil.rb +0 -1
- data/spec/support/models/person.rb +1 -1
- data/spec/support/models/pet.rb +0 -1
- data/spec/support/models/pet_owner.rb +0 -1
- data/spec/support/models/phone.rb +2 -2
- data/spec/support/models/piano.rb +0 -1
- data/spec/support/models/pizza.rb +0 -1
- data/spec/support/models/player.rb +0 -1
- data/spec/support/models/post.rb +0 -1
- data/spec/support/models/post_genre.rb +0 -1
- data/spec/support/models/powerup.rb +0 -1
- data/spec/support/models/preference.rb +0 -1
- data/spec/support/models/princess.rb +0 -1
- data/spec/support/models/product.rb +0 -1
- data/spec/support/models/profile.rb +0 -1
- data/spec/support/models/pronunciation.rb +0 -1
- data/spec/support/models/pub.rb +0 -1
- data/spec/support/models/publication/encyclopedia.rb +0 -1
- data/spec/support/models/publication/review.rb +0 -1
- data/spec/support/models/publication.rb +0 -1
- data/spec/support/models/purchase.rb +0 -1
- data/spec/support/models/purchased_item.rb +10 -0
- data/spec/support/models/question.rb +0 -1
- data/spec/support/models/quiz.rb +0 -1
- data/spec/support/models/rating.rb +0 -1
- data/spec/support/models/record.rb +0 -1
- data/spec/support/models/registry.rb +0 -1
- data/spec/support/models/role.rb +0 -1
- data/spec/support/models/root_category.rb +0 -1
- data/spec/support/models/sandwich.rb +0 -1
- data/spec/support/models/scheduler.rb +0 -1
- data/spec/support/models/scribe.rb +0 -1
- data/spec/support/models/sealer.rb +0 -1
- data/spec/support/models/seat.rb +0 -1
- data/spec/support/models/seo.rb +0 -1
- data/spec/support/models/series.rb +0 -1
- data/spec/support/models/server.rb +0 -1
- data/spec/support/models/service.rb +0 -1
- data/spec/support/models/shape.rb +0 -1
- data/spec/support/models/shelf.rb +0 -1
- data/spec/support/models/shipment_address.rb +0 -1
- data/spec/support/models/shipping_container.rb +0 -1
- data/spec/support/models/shipping_pack.rb +0 -1
- data/spec/support/models/shirt.rb +0 -1
- data/spec/support/models/shop.rb +0 -1
- data/spec/support/models/short_agent.rb +0 -1
- data/spec/support/models/short_quiz.rb +0 -1
- data/spec/support/models/simple.rb +0 -1
- data/spec/support/models/slave.rb +0 -1
- data/spec/support/models/song.rb +0 -1
- data/spec/support/models/sound.rb +0 -1
- data/spec/support/models/spacer.rb +0 -1
- data/spec/support/models/square.rb +0 -1
- data/spec/support/models/staff.rb +0 -1
- data/spec/support/models/store_as_dup_test1.rb +0 -1
- data/spec/support/models/store_as_dup_test2.rb +0 -1
- data/spec/support/models/store_as_dup_test3.rb +0 -1
- data/spec/support/models/store_as_dup_test4.rb +0 -1
- data/spec/support/models/strategy.rb +0 -1
- data/spec/support/models/sub_item.rb +0 -1
- data/spec/support/models/subscription.rb +0 -1
- data/spec/support/models/survey.rb +0 -1
- data/spec/support/models/symptom.rb +0 -1
- data/spec/support/models/tag.rb +0 -1
- data/spec/support/models/target.rb +0 -1
- data/spec/support/models/template.rb +0 -1
- data/spec/support/models/thing.rb +0 -1
- data/spec/support/models/threadlocker.rb +0 -1
- data/spec/support/models/title.rb +0 -1
- data/spec/support/models/tool.rb +0 -1
- data/spec/support/models/topping.rb +0 -1
- data/spec/support/models/toy.rb +0 -1
- data/spec/support/models/track.rb +0 -1
- data/spec/support/models/translation.rb +0 -1
- data/spec/support/models/tree.rb +0 -1
- data/spec/support/models/truck.rb +0 -1
- data/spec/support/models/updatable.rb +0 -1
- data/spec/support/models/user.rb +0 -1
- data/spec/support/models/user_account.rb +0 -1
- data/spec/support/models/validation_callback.rb +0 -1
- data/spec/support/models/vehicle.rb +0 -1
- data/spec/support/models/version.rb +0 -1
- data/spec/support/models/vertex.rb +0 -1
- data/spec/support/models/vet_visit.rb +0 -1
- data/spec/support/models/video.rb +0 -1
- data/spec/support/models/video_game.rb +0 -1
- data/spec/support/models/washer.rb +0 -1
- data/spec/support/models/weapon.rb +0 -1
- data/spec/support/models/wiki_page.rb +0 -1
- data/spec/support/models/word.rb +0 -1
- data/spec/support/models/word_origin.rb +0 -1
- data/spec/support/models/writer.rb +0 -1
- data/spec/support/shared/time.rb +0 -1
- data/spec/support/spec_config.rb +3 -1
- data.tar.gz.sig +0 -0
- metadata +642 -610
- metadata.gz.sig +0 -0
- data/lib/support/ruby_version.rb +0 -29
- data/spec/support/session_registry.rb +0 -50
@@ -1,5 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
# encoding: utf-8
|
3
2
|
|
4
3
|
require "spec_helper"
|
5
4
|
|
@@ -27,7 +26,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
27
26
|
context "when the inverse_of is nil" do
|
28
27
|
|
29
28
|
let!(:article) do
|
30
|
-
Article.create
|
29
|
+
Article.create!
|
31
30
|
end
|
32
31
|
|
33
32
|
context "when the child document is new" do
|
@@ -48,7 +47,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
48
47
|
context "when the child document is not new" do
|
49
48
|
|
50
49
|
let(:preference) do
|
51
|
-
Preference.create
|
50
|
+
Preference.create!
|
52
51
|
end
|
53
52
|
|
54
53
|
it "does not persist the child document" do
|
@@ -80,7 +79,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
80
79
|
context "when the parent is not a new record" do
|
81
80
|
|
82
81
|
let(:person) do
|
83
|
-
Person.create
|
82
|
+
Person.create!
|
84
83
|
end
|
85
84
|
|
86
85
|
let!(:preference) do
|
@@ -124,11 +123,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
124
123
|
context "when appending in a parent create block" do
|
125
124
|
|
126
125
|
let!(:preference) do
|
127
|
-
Preference.create(name: "testing")
|
126
|
+
Preference.create!(name: "testing")
|
128
127
|
end
|
129
128
|
|
130
129
|
let!(:person) do
|
131
|
-
Person.create do |doc|
|
130
|
+
Person.create! do |doc|
|
132
131
|
doc.preferences << preference
|
133
132
|
end
|
134
133
|
end
|
@@ -213,7 +212,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
213
212
|
context "when the child is already persisted" do
|
214
213
|
|
215
214
|
let!(:persisted) do
|
216
|
-
Preference.create(name: "testy")
|
215
|
+
Preference.create!(name: "testy")
|
217
216
|
end
|
218
217
|
|
219
218
|
let(:preference) do
|
@@ -222,7 +221,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
222
221
|
|
223
222
|
before do
|
224
223
|
person.preferences.send(method, preference)
|
225
|
-
person.save
|
224
|
+
person.save!
|
226
225
|
end
|
227
226
|
|
228
227
|
it "adds the documents to the relation" do
|
@@ -253,7 +252,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
253
252
|
context "when setting via the associated ids" do
|
254
253
|
|
255
254
|
let!(:persisted) do
|
256
|
-
Preference.create(name: "testy")
|
255
|
+
Preference.create!(name: "testy")
|
257
256
|
end
|
258
257
|
|
259
258
|
let(:preference) do
|
@@ -265,7 +264,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
265
264
|
end
|
266
265
|
|
267
266
|
before do
|
268
|
-
person.save
|
267
|
+
person.save!
|
269
268
|
end
|
270
269
|
|
271
270
|
it "adds the documents to the relation" do
|
@@ -293,7 +292,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
293
292
|
context "when the parent is not a new record" do
|
294
293
|
|
295
294
|
let(:person) do
|
296
|
-
Person.create
|
295
|
+
Person.create!
|
297
296
|
end
|
298
297
|
|
299
298
|
let(:preference) do
|
@@ -375,11 +374,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
375
374
|
context "when both sides have been persisted" do
|
376
375
|
|
377
376
|
let(:person) do
|
378
|
-
Person.create
|
377
|
+
Person.create!
|
379
378
|
end
|
380
379
|
|
381
380
|
let(:event) do
|
382
|
-
Event.create
|
381
|
+
Event.create!
|
383
382
|
end
|
384
383
|
|
385
384
|
before do
|
@@ -428,15 +427,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
428
427
|
context "when the relation also includes a has_many relation" do
|
429
428
|
|
430
429
|
let(:artwork) do
|
431
|
-
Artwork.create
|
430
|
+
Artwork.create!
|
432
431
|
end
|
433
432
|
|
434
433
|
let(:exhibition) do
|
435
|
-
Exhibition.create
|
434
|
+
Exhibition.create!
|
436
435
|
end
|
437
436
|
|
438
437
|
let(:exhibitor) do
|
439
|
-
Exhibitor.create(exhibition: exhibition)
|
438
|
+
Exhibitor.create!(exhibition: exhibition)
|
440
439
|
end
|
441
440
|
|
442
441
|
before do
|
@@ -451,11 +450,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
451
450
|
context "when the relation is self referencing" do
|
452
451
|
|
453
452
|
let(:tag_one) do
|
454
|
-
Tag.create(text: "one")
|
453
|
+
Tag.create!(text: "one")
|
455
454
|
end
|
456
455
|
|
457
456
|
let(:tag_two) do
|
458
|
-
Tag.create(text: "two")
|
457
|
+
Tag.create!(text: "two")
|
459
458
|
end
|
460
459
|
|
461
460
|
before do
|
@@ -564,7 +563,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
564
563
|
end
|
565
564
|
|
566
565
|
let(:preference) do
|
567
|
-
Preference.create(name: "one")
|
566
|
+
Preference.create!(name: "one")
|
568
567
|
end
|
569
568
|
|
570
569
|
before do
|
@@ -585,7 +584,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
585
584
|
context "when the document is persisted" do
|
586
585
|
|
587
586
|
before do
|
588
|
-
person.save
|
587
|
+
person.save!
|
589
588
|
end
|
590
589
|
|
591
590
|
it "does not add the duplicates" do
|
@@ -656,7 +655,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
656
655
|
end
|
657
656
|
|
658
657
|
let!(:preference) do
|
659
|
-
Preference.create
|
658
|
+
Preference.create!
|
660
659
|
end
|
661
660
|
|
662
661
|
before do
|
@@ -703,7 +702,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
703
702
|
context "when the parent is not a new record" do
|
704
703
|
|
705
704
|
let(:person) do
|
706
|
-
Person.create
|
705
|
+
Person.create!
|
707
706
|
end
|
708
707
|
|
709
708
|
let(:preference) do
|
@@ -787,7 +786,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
787
786
|
expect(person.preferences).to eq([ another_preference ])
|
788
787
|
end
|
789
788
|
|
790
|
-
it "persists the relation between
|
789
|
+
it "persists the relation between another_preference and person" do
|
791
790
|
expect(another_preference.people).to eq([ person ])
|
792
791
|
end
|
793
792
|
|
@@ -799,7 +798,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
799
798
|
context "and person is saved" do
|
800
799
|
|
801
800
|
before do
|
802
|
-
person.save
|
801
|
+
person.save!
|
803
802
|
person.reload
|
804
803
|
another_preference.reload
|
805
804
|
end
|
@@ -808,7 +807,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
808
807
|
expect(person.preferences).to eq([ another_preference ])
|
809
808
|
end
|
810
809
|
|
811
|
-
it "persists the relation between
|
810
|
+
it "persists the relation between another_preference and person" do
|
812
811
|
expect(another_preference.people).to eq([ person ])
|
813
812
|
end
|
814
813
|
|
@@ -823,11 +822,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
823
822
|
|
824
823
|
describe "when self-referencing" do
|
825
824
|
let!(:parent) do
|
826
|
-
Vertex.create
|
825
|
+
Vertex.create!
|
827
826
|
end
|
828
827
|
|
829
828
|
let!(:child) do
|
830
|
-
Vertex.create(parents: [parent])
|
829
|
+
Vertex.create!(parents: [parent])
|
831
830
|
end
|
832
831
|
|
833
832
|
before do
|
@@ -964,7 +963,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
964
963
|
context "when the relation has been loaded" do
|
965
964
|
|
966
965
|
let(:person) do
|
967
|
-
Person.create
|
966
|
+
Person.create!
|
968
967
|
end
|
969
968
|
|
970
969
|
let(:preference) do
|
@@ -1004,7 +1003,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1004
1003
|
end
|
1005
1004
|
|
1006
1005
|
let(:person) do
|
1007
|
-
Person.create
|
1006
|
+
Person.create!.tap do |p|
|
1008
1007
|
p.preferences = [ preference ]
|
1009
1008
|
end
|
1010
1009
|
end
|
@@ -1074,7 +1073,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1074
1073
|
context "when the parent is not a new record" do
|
1075
1074
|
|
1076
1075
|
let(:person) do
|
1077
|
-
Person.create
|
1076
|
+
Person.create!
|
1078
1077
|
end
|
1079
1078
|
|
1080
1079
|
let!(:preference) do
|
@@ -1112,7 +1111,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1112
1111
|
context "when saving the target" do
|
1113
1112
|
|
1114
1113
|
before do
|
1115
|
-
preference.save
|
1114
|
+
preference.save!
|
1116
1115
|
end
|
1117
1116
|
|
1118
1117
|
it "persists the parent keys" do
|
@@ -1131,13 +1130,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1131
1130
|
context "when the parent has been persisted" do
|
1132
1131
|
|
1133
1132
|
let!(:person) do
|
1134
|
-
Person.create
|
1133
|
+
Person.create!
|
1135
1134
|
end
|
1136
1135
|
|
1137
1136
|
context "when the children are persisted" do
|
1138
1137
|
|
1139
1138
|
let!(:preference) do
|
1140
|
-
person.preferences.create(name: "settings")
|
1139
|
+
person.preferences.create!(name: "settings")
|
1141
1140
|
end
|
1142
1141
|
|
1143
1142
|
let!(:relation) do
|
@@ -1309,7 +1308,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1309
1308
|
context "when the parent is not a new record" do
|
1310
1309
|
|
1311
1310
|
let(:person) do
|
1312
|
-
Person.create
|
1311
|
+
Person.create!
|
1313
1312
|
end
|
1314
1313
|
|
1315
1314
|
let!(:preference) do
|
@@ -1353,11 +1352,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1353
1352
|
context "when appending in a parent create block" do
|
1354
1353
|
|
1355
1354
|
let!(:preference) do
|
1356
|
-
Preference.create(name: "testing")
|
1355
|
+
Preference.create!(name: "testing")
|
1357
1356
|
end
|
1358
1357
|
|
1359
1358
|
let!(:person) do
|
1360
|
-
Person.create do |doc|
|
1359
|
+
Person.create! do |doc|
|
1361
1360
|
doc.preferences.concat([ preference ])
|
1362
1361
|
end
|
1363
1362
|
end
|
@@ -1442,7 +1441,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1442
1441
|
context "when the child is already persisted" do
|
1443
1442
|
|
1444
1443
|
let!(:persisted) do
|
1445
|
-
Preference.create(name: "testy")
|
1444
|
+
Preference.create!(name: "testy")
|
1446
1445
|
end
|
1447
1446
|
|
1448
1447
|
let(:preference) do
|
@@ -1451,7 +1450,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1451
1450
|
|
1452
1451
|
before do
|
1453
1452
|
person.preferences.concat([ preference ])
|
1454
|
-
person.save
|
1453
|
+
person.save!
|
1455
1454
|
end
|
1456
1455
|
|
1457
1456
|
it "adds the documents to the relation" do
|
@@ -1482,7 +1481,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1482
1481
|
context "when setting via the associated ids" do
|
1483
1482
|
|
1484
1483
|
let!(:persisted) do
|
1485
|
-
Preference.create(name: "testy")
|
1484
|
+
Preference.create!(name: "testy")
|
1486
1485
|
end
|
1487
1486
|
|
1488
1487
|
let(:preference) do
|
@@ -1494,7 +1493,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1494
1493
|
end
|
1495
1494
|
|
1496
1495
|
before do
|
1497
|
-
person.save
|
1496
|
+
person.save!
|
1498
1497
|
end
|
1499
1498
|
|
1500
1499
|
it "adds the documents to the relation" do
|
@@ -1522,7 +1521,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1522
1521
|
context "when the parent is not a new record" do
|
1523
1522
|
|
1524
1523
|
let(:person) do
|
1525
|
-
Person.create
|
1524
|
+
Person.create!
|
1526
1525
|
end
|
1527
1526
|
|
1528
1527
|
let(:preference) do
|
@@ -1604,11 +1603,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1604
1603
|
context "when both sides have been persisted" do
|
1605
1604
|
|
1606
1605
|
let(:person) do
|
1607
|
-
Person.create
|
1606
|
+
Person.create!
|
1608
1607
|
end
|
1609
1608
|
|
1610
1609
|
let(:event) do
|
1611
|
-
Event.create
|
1610
|
+
Event.create!
|
1612
1611
|
end
|
1613
1612
|
|
1614
1613
|
before do
|
@@ -1657,15 +1656,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1657
1656
|
context "when the relation also includes a has_many relation" do
|
1658
1657
|
|
1659
1658
|
let(:artwork) do
|
1660
|
-
Artwork.create
|
1659
|
+
Artwork.create!
|
1661
1660
|
end
|
1662
1661
|
|
1663
1662
|
let(:exhibition) do
|
1664
|
-
Exhibition.create
|
1663
|
+
Exhibition.create!
|
1665
1664
|
end
|
1666
1665
|
|
1667
1666
|
let(:exhibitor) do
|
1668
|
-
Exhibitor.create(exhibition: exhibition)
|
1667
|
+
Exhibitor.create!(exhibition: exhibition)
|
1669
1668
|
end
|
1670
1669
|
|
1671
1670
|
before do
|
@@ -1680,11 +1679,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1680
1679
|
context "when the relation is self referencing" do
|
1681
1680
|
|
1682
1681
|
let(:tag_one) do
|
1683
|
-
Tag.create(text: "one")
|
1682
|
+
Tag.create!(text: "one")
|
1684
1683
|
end
|
1685
1684
|
|
1686
1685
|
let(:tag_two) do
|
1687
|
-
Tag.create(text: "two")
|
1686
|
+
Tag.create!(text: "two")
|
1688
1687
|
end
|
1689
1688
|
|
1690
1689
|
before do
|
@@ -1735,7 +1734,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1735
1734
|
describe "#count" do
|
1736
1735
|
|
1737
1736
|
let(:person) do
|
1738
|
-
Person.create
|
1737
|
+
Person.create!
|
1739
1738
|
end
|
1740
1739
|
|
1741
1740
|
context "when nothing exists on the relation" do
|
@@ -1760,7 +1759,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1760
1759
|
describe "#any?" do
|
1761
1760
|
|
1762
1761
|
let(:person) do
|
1763
|
-
Person.create
|
1762
|
+
Person.create!
|
1764
1763
|
end
|
1765
1764
|
|
1766
1765
|
context "when nothing exists on the relation" do
|
@@ -1797,7 +1796,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1797
1796
|
context "when documents have been persisted" do
|
1798
1797
|
|
1799
1798
|
let!(:preference) do
|
1800
|
-
person.preferences.create(name: "setting")
|
1799
|
+
person.preferences.create!(name: "setting")
|
1801
1800
|
end
|
1802
1801
|
|
1803
1802
|
it "returns the number of persisted documents" do
|
@@ -1808,12 +1807,12 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1808
1807
|
context "when appending to a loaded relation" do
|
1809
1808
|
|
1810
1809
|
let!(:preference) do
|
1811
|
-
person.preferences.create(name: "setting")
|
1810
|
+
person.preferences.create!(name: "setting")
|
1812
1811
|
end
|
1813
1812
|
|
1814
1813
|
before do
|
1815
1814
|
person.preferences.count
|
1816
|
-
person.preferences << Preference.create(name: "two")
|
1815
|
+
person.preferences << Preference.create!(name: "two")
|
1817
1816
|
end
|
1818
1817
|
|
1819
1818
|
it "returns the number of persisted documents" do
|
@@ -1837,7 +1836,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1837
1836
|
context "when the documents are part of the relation" do
|
1838
1837
|
|
1839
1838
|
before do
|
1840
|
-
Preference.create(person_ids: [ person.id ])
|
1839
|
+
Preference.create!(person_ids: [ person.id ])
|
1841
1840
|
end
|
1842
1841
|
|
1843
1842
|
it "returns the count from the db" do
|
@@ -1848,7 +1847,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1848
1847
|
context "when the documents are not part of the relation" do
|
1849
1848
|
|
1850
1849
|
before do
|
1851
|
-
Preference.create
|
1850
|
+
Preference.create!
|
1852
1851
|
end
|
1853
1852
|
|
1854
1853
|
it "returns the count from the db" do
|
@@ -1862,7 +1861,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1862
1861
|
context "when documents have been persisted" do
|
1863
1862
|
|
1864
1863
|
let!(:house) do
|
1865
|
-
person.houses.create(name: "Wayne Manor")
|
1864
|
+
person.houses.create!(name: "Wayne Manor")
|
1866
1865
|
end
|
1867
1866
|
|
1868
1867
|
it "returns the number of persisted documents" do
|
@@ -1886,7 +1885,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1886
1885
|
describe "#any?" do
|
1887
1886
|
|
1888
1887
|
let(:sandwich) do
|
1889
|
-
Sandwich.create
|
1888
|
+
Sandwich.create!
|
1890
1889
|
end
|
1891
1890
|
|
1892
1891
|
context "when nothing exists on the relation" do
|
@@ -1954,7 +1953,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1954
1953
|
context "when documents have been persisted" do
|
1955
1954
|
|
1956
1955
|
let!(:meat) do
|
1957
|
-
sandwich.meats.create
|
1956
|
+
sandwich.meats.create!
|
1958
1957
|
end
|
1959
1958
|
|
1960
1959
|
it "returns true" do
|
@@ -1975,7 +1974,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1975
1974
|
|
1976
1975
|
context "when new documents exist in the database" do
|
1977
1976
|
before do
|
1978
|
-
Meat.create(sandwiches: [sandwich])
|
1977
|
+
Meat.create!(sandwiches: [sandwich])
|
1979
1978
|
end
|
1980
1979
|
|
1981
1980
|
it "returns true" do
|
@@ -1993,15 +1992,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
1993
1992
|
context "when using string keys" do
|
1994
1993
|
|
1995
1994
|
let(:agent) do
|
1996
|
-
Agent.create(number: "007")
|
1995
|
+
Agent.create!(number: "007")
|
1997
1996
|
end
|
1998
1997
|
|
1999
1998
|
before do
|
2000
|
-
agent.accounts.
|
1999
|
+
agent.accounts.send(method, name: "test again")
|
2001
2000
|
end
|
2002
2001
|
|
2003
2002
|
it "does not convert the string key to an object id" do
|
2004
|
-
expect(agent.account_ids).to eq([ "
|
2003
|
+
expect(agent.account_ids).to eq([ "test-again" ])
|
2005
2004
|
end
|
2006
2005
|
end
|
2007
2006
|
|
@@ -2073,7 +2072,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2073
2072
|
context "when validation fails" do
|
2074
2073
|
|
2075
2074
|
let(:person) do
|
2076
|
-
Person.create
|
2075
|
+
Person.create!
|
2077
2076
|
end
|
2078
2077
|
|
2079
2078
|
context "when the relation is not polymorphic" do
|
@@ -2090,15 +2089,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2090
2089
|
describe "#delete" do
|
2091
2090
|
|
2092
2091
|
let(:person) do
|
2093
|
-
Person.create
|
2092
|
+
Person.create!
|
2094
2093
|
end
|
2095
2094
|
|
2096
2095
|
let(:preference_one) do
|
2097
|
-
Preference.create(name: "Testing")
|
2096
|
+
Preference.create!(name: "Testing")
|
2098
2097
|
end
|
2099
2098
|
|
2100
2099
|
let(:preference_two) do
|
2101
|
-
Preference.create(name: "Test")
|
2100
|
+
Preference.create!(name: "Test")
|
2102
2101
|
end
|
2103
2102
|
|
2104
2103
|
before do
|
@@ -2173,7 +2172,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2173
2172
|
context "when :inverse_of is set" do
|
2174
2173
|
|
2175
2174
|
let(:event) do
|
2176
|
-
Event.create
|
2175
|
+
Event.create!
|
2177
2176
|
end
|
2178
2177
|
|
2179
2178
|
before do
|
@@ -2189,11 +2188,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2189
2188
|
context "when the relationships are self referencing" do
|
2190
2189
|
|
2191
2190
|
let(:tag_one) do
|
2192
|
-
Tag.create(text: "one")
|
2191
|
+
Tag.create!(text: "one")
|
2193
2192
|
end
|
2194
2193
|
|
2195
2194
|
let(:tag_two) do
|
2196
|
-
Tag.create(text: "two")
|
2195
|
+
Tag.create!(text: "two")
|
2197
2196
|
end
|
2198
2197
|
|
2199
2198
|
before do
|
@@ -2362,15 +2361,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2362
2361
|
context "when conditions are provided" do
|
2363
2362
|
|
2364
2363
|
let(:person) do
|
2365
|
-
Person.create
|
2364
|
+
Person.create!
|
2366
2365
|
end
|
2367
2366
|
|
2368
2367
|
let!(:preference_one) do
|
2369
|
-
person.preferences.create(name: "Testing")
|
2368
|
+
person.preferences.create!(name: "Testing")
|
2370
2369
|
end
|
2371
2370
|
|
2372
2371
|
let!(:preference_two) do
|
2373
|
-
person.preferences.create(name: "Test")
|
2372
|
+
person.preferences.create!(name: "Test")
|
2374
2373
|
end
|
2375
2374
|
|
2376
2375
|
let!(:deleted) do
|
@@ -2400,9 +2399,9 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2400
2399
|
context "when conditions are not provided" do
|
2401
2400
|
|
2402
2401
|
let(:person) do
|
2403
|
-
Person.create
|
2404
|
-
person.preferences.create(name: "Testing")
|
2405
|
-
person.preferences.create(name: "Test")
|
2402
|
+
Person.create!.tap do |person|
|
2403
|
+
person.preferences.create!(name: "Testing")
|
2404
|
+
person.preferences.create!(name: "Test")
|
2406
2405
|
end
|
2407
2406
|
end
|
2408
2407
|
|
@@ -2436,13 +2435,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2436
2435
|
describe "#exists?" do
|
2437
2436
|
|
2438
2437
|
let!(:person) do
|
2439
|
-
Person.create
|
2438
|
+
Person.create!
|
2440
2439
|
end
|
2441
2440
|
|
2442
2441
|
context "when documents exist in the database" do
|
2443
2442
|
|
2444
2443
|
before do
|
2445
|
-
person.preferences.create
|
2444
|
+
person.preferences.create!
|
2446
2445
|
end
|
2447
2446
|
|
2448
2447
|
it "returns true" do
|
@@ -2467,23 +2466,23 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2467
2466
|
context "when the relation is not polymorphic" do
|
2468
2467
|
|
2469
2468
|
let(:person) do
|
2470
|
-
Person.create
|
2469
|
+
Person.create!
|
2471
2470
|
end
|
2472
2471
|
|
2473
2472
|
let!(:preference_one) do
|
2474
|
-
person.preferences.create(name: "Test")
|
2473
|
+
person.preferences.create!(name: "Test")
|
2475
2474
|
end
|
2476
2475
|
|
2477
2476
|
let!(:preference_two) do
|
2478
|
-
person.preferences.create(name: "OMG I has relations")
|
2477
|
+
person.preferences.create!(name: "OMG I has relations")
|
2479
2478
|
end
|
2480
2479
|
|
2481
2480
|
let!(:unrelated_pref) do
|
2482
|
-
Preference.create(name: "orphan annie")
|
2481
|
+
Preference.create!(name: "orphan annie")
|
2483
2482
|
end
|
2484
2483
|
|
2485
2484
|
let!(:unrelated_pref_two) do
|
2486
|
-
Preference.create(name: "orphan two")
|
2485
|
+
Preference.create!(name: "orphan two")
|
2487
2486
|
end
|
2488
2487
|
|
2489
2488
|
context "when providing an id" do
|
@@ -2561,7 +2560,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2561
2560
|
end
|
2562
2561
|
end
|
2563
2562
|
|
2564
|
-
context "when the ids
|
2563
|
+
context "when the ids match unreferenced documents" do
|
2565
2564
|
|
2566
2565
|
let(:preferences) do
|
2567
2566
|
person.preferences.find(
|
@@ -2619,11 +2618,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2619
2618
|
context "when the relation is not polymorphic" do
|
2620
2619
|
|
2621
2620
|
let(:person) do
|
2622
|
-
Person.create
|
2621
|
+
Person.create!
|
2623
2622
|
end
|
2624
2623
|
|
2625
2624
|
let!(:preference) do
|
2626
|
-
person.preferences.create(name: "Testing")
|
2625
|
+
person.preferences.create!(name: "Testing")
|
2627
2626
|
end
|
2628
2627
|
|
2629
2628
|
context "when the document exists" do
|
@@ -2659,11 +2658,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2659
2658
|
context "when the relation is not polymorphic" do
|
2660
2659
|
|
2661
2660
|
let(:person) do
|
2662
|
-
Person.create
|
2661
|
+
Person.create!
|
2663
2662
|
end
|
2664
2663
|
|
2665
2664
|
let!(:preference) do
|
2666
|
-
person.preferences.create(name: "Testing")
|
2665
|
+
person.preferences.create!(name: "Testing")
|
2667
2666
|
end
|
2668
2667
|
|
2669
2668
|
context "when the document exists" do
|
@@ -2708,11 +2707,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2708
2707
|
context "when the relation is not polymorphic" do
|
2709
2708
|
|
2710
2709
|
let(:person) do
|
2711
|
-
Person.create
|
2710
|
+
Person.create!
|
2712
2711
|
end
|
2713
2712
|
|
2714
2713
|
let!(:preference) do
|
2715
|
-
person.preferences.create(name: "Testing")
|
2714
|
+
person.preferences.create!(name: "Testing")
|
2716
2715
|
end
|
2717
2716
|
|
2718
2717
|
context "when the document exists" do
|
@@ -2746,15 +2745,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2746
2745
|
describe "#max" do
|
2747
2746
|
|
2748
2747
|
let(:person) do
|
2749
|
-
Person.create
|
2748
|
+
Person.create!
|
2750
2749
|
end
|
2751
2750
|
|
2752
2751
|
let(:preference_one) do
|
2753
|
-
Preference.create(ranking: 5)
|
2752
|
+
Preference.create!(ranking: 5)
|
2754
2753
|
end
|
2755
2754
|
|
2756
2755
|
let(:preference_two) do
|
2757
|
-
Preference.create(ranking: 10)
|
2756
|
+
Preference.create!(ranking: 10)
|
2758
2757
|
end
|
2759
2758
|
|
2760
2759
|
before do
|
@@ -2775,15 +2774,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2775
2774
|
describe "#max_by" do
|
2776
2775
|
|
2777
2776
|
let(:person) do
|
2778
|
-
Person.create
|
2777
|
+
Person.create!
|
2779
2778
|
end
|
2780
2779
|
|
2781
2780
|
let(:preference_one) do
|
2782
|
-
Preference.create(ranking: 5)
|
2781
|
+
Preference.create!(ranking: 5)
|
2783
2782
|
end
|
2784
2783
|
|
2785
2784
|
let(:preference_two) do
|
2786
|
-
Preference.create(ranking: 10)
|
2785
|
+
Preference.create!(ranking: 10)
|
2787
2786
|
end
|
2788
2787
|
|
2789
2788
|
before do
|
@@ -2802,19 +2801,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2802
2801
|
describe "#method_missing" do
|
2803
2802
|
|
2804
2803
|
let!(:person) do
|
2805
|
-
Person.create
|
2804
|
+
Person.create!
|
2806
2805
|
end
|
2807
2806
|
|
2808
2807
|
let!(:preference_one) do
|
2809
|
-
person.preferences.create(name: "First", value: "Posting")
|
2808
|
+
person.preferences.create!(name: "First", value: "Posting")
|
2810
2809
|
end
|
2811
2810
|
|
2812
2811
|
let!(:preference_two) do
|
2813
|
-
person.preferences.create(name: "Second", value: "Testing")
|
2812
|
+
person.preferences.create!(name: "Second", value: "Testing")
|
2814
2813
|
end
|
2815
2814
|
|
2816
2815
|
let!(:unrelated) do
|
2817
|
-
Preference.create(name: "Third")
|
2816
|
+
Preference.create!(name: "Third")
|
2818
2817
|
end
|
2819
2818
|
|
2820
2819
|
context "when providing a single criteria" do
|
@@ -2889,7 +2888,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2889
2888
|
context "when the inverse relation is not defined" do
|
2890
2889
|
|
2891
2890
|
let!(:house) do
|
2892
|
-
person.houses.create(name: "Wayne Manor")
|
2891
|
+
person.houses.create!(name: "Wayne Manor")
|
2893
2892
|
end
|
2894
2893
|
|
2895
2894
|
it "returns the distinct values for the fields" do
|
@@ -2903,15 +2902,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2903
2902
|
describe "#min" do
|
2904
2903
|
|
2905
2904
|
let(:person) do
|
2906
|
-
Person.create
|
2905
|
+
Person.create!
|
2907
2906
|
end
|
2908
2907
|
|
2909
2908
|
let(:preference_one) do
|
2910
|
-
Preference.create(ranking: 5)
|
2909
|
+
Preference.create!(ranking: 5)
|
2911
2910
|
end
|
2912
2911
|
|
2913
2912
|
let(:preference_two) do
|
2914
|
-
Preference.create(ranking: 10)
|
2913
|
+
Preference.create!(ranking: 10)
|
2915
2914
|
end
|
2916
2915
|
|
2917
2916
|
before do
|
@@ -2932,15 +2931,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2932
2931
|
describe "#min_by" do
|
2933
2932
|
|
2934
2933
|
let(:person) do
|
2935
|
-
Person.create
|
2934
|
+
Person.create!
|
2936
2935
|
end
|
2937
2936
|
|
2938
2937
|
let(:preference_one) do
|
2939
|
-
Preference.create(ranking: 5)
|
2938
|
+
Preference.create!(ranking: 5)
|
2940
2939
|
end
|
2941
2940
|
|
2942
2941
|
let(:preference_two) do
|
2943
|
-
Preference.create(ranking: 10)
|
2942
|
+
Preference.create!(ranking: 10)
|
2944
2943
|
end
|
2945
2944
|
|
2946
2945
|
before do
|
@@ -2966,15 +2965,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
2966
2965
|
describe "#nullify_all" do
|
2967
2966
|
|
2968
2967
|
let(:person) do
|
2969
|
-
Person.create
|
2968
|
+
Person.create!
|
2970
2969
|
end
|
2971
2970
|
|
2972
2971
|
let!(:preference_one) do
|
2973
|
-
person.preferences.create(name: "One")
|
2972
|
+
person.preferences.create!(name: "One")
|
2974
2973
|
end
|
2975
2974
|
|
2976
2975
|
let!(:preference_two) do
|
2977
|
-
person.preferences.create(name: "Two")
|
2976
|
+
person.preferences.create!(name: "Two")
|
2978
2977
|
end
|
2979
2978
|
|
2980
2979
|
before do
|
@@ -3095,13 +3094,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3095
3094
|
describe "##{method}" do
|
3096
3095
|
|
3097
3096
|
let(:person) do
|
3098
|
-
Person.create
|
3097
|
+
Person.create!
|
3099
3098
|
end
|
3100
3099
|
|
3101
3100
|
context "when documents have been persisted" do
|
3102
3101
|
|
3103
3102
|
let!(:preference) do
|
3104
|
-
person.preferences.create(name: "Testing")
|
3103
|
+
person.preferences.create!(name: "Testing")
|
3105
3104
|
end
|
3106
3105
|
|
3107
3106
|
it "returns the number of documents" do
|
@@ -3113,7 +3112,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3113
3112
|
|
3114
3113
|
before do
|
3115
3114
|
person.preferences.build(name: "Test")
|
3116
|
-
person.preferences.create(name: "Test 2")
|
3115
|
+
person.preferences.create!(name: "Test 2")
|
3117
3116
|
end
|
3118
3117
|
|
3119
3118
|
it "returns the total number of documents" do
|
@@ -3128,15 +3127,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3128
3127
|
context "when the relation has no default scope" do
|
3129
3128
|
|
3130
3129
|
let!(:person) do
|
3131
|
-
Person.create
|
3130
|
+
Person.create!
|
3132
3131
|
end
|
3133
3132
|
|
3134
3133
|
let!(:preference_one) do
|
3135
|
-
person.preferences.create(name: "first")
|
3134
|
+
person.preferences.create!(name: "first")
|
3136
3135
|
end
|
3137
3136
|
|
3138
3137
|
let!(:preference_two) do
|
3139
|
-
Preference.create(name: "second")
|
3138
|
+
Preference.create!(name: "second")
|
3140
3139
|
end
|
3141
3140
|
|
3142
3141
|
let(:unscoped) do
|
@@ -3151,15 +3150,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3151
3150
|
context "when the relation has a default scope" do
|
3152
3151
|
|
3153
3152
|
let!(:person) do
|
3154
|
-
Person.create
|
3153
|
+
Person.create!
|
3155
3154
|
end
|
3156
3155
|
|
3157
3156
|
let!(:house_one) do
|
3158
|
-
person.houses.create(name: "first")
|
3157
|
+
person.houses.create!(name: "first")
|
3159
3158
|
end
|
3160
3159
|
|
3161
3160
|
let!(:house_two) do
|
3162
|
-
House.create(name: "second")
|
3161
|
+
House.create!(name: "second")
|
3163
3162
|
end
|
3164
3163
|
|
3165
3164
|
let(:unscoped) do
|
@@ -3195,10 +3194,10 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3195
3194
|
end
|
3196
3195
|
|
3197
3196
|
before do
|
3198
|
-
person.update_attributes(
|
3197
|
+
person.update_attributes!(
|
3199
3198
|
houses: [ wife_house, exwife_house, girlfriend_house ]
|
3200
3199
|
)
|
3201
|
-
person.update_attributes(house_ids: [ girlfriend_house.id ])
|
3200
|
+
person.update_attributes!(house_ids: [ girlfriend_house.id ])
|
3202
3201
|
end
|
3203
3202
|
|
3204
3203
|
context "when reloading" do
|
@@ -3245,7 +3244,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3245
3244
|
end
|
3246
3245
|
|
3247
3246
|
let!(:business) do
|
3248
|
-
Business.create(name: "serious", owners: [ user ])
|
3247
|
+
Business.create!(name: "serious", owners: [ user ])
|
3249
3248
|
end
|
3250
3249
|
|
3251
3250
|
before do
|
@@ -3288,11 +3287,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3288
3287
|
context "when the documents are persisted" do
|
3289
3288
|
|
3290
3289
|
let(:user) do
|
3291
|
-
User.create(name: "tst")
|
3290
|
+
User.create!(name: "tst")
|
3292
3291
|
end
|
3293
3292
|
|
3294
3293
|
let(:business) do
|
3295
|
-
Business.create(name: "srs", owners: [ user ])
|
3294
|
+
Business.create!(name: "srs", owners: [ user ])
|
3296
3295
|
end
|
3297
3296
|
|
3298
3297
|
before do
|
@@ -3336,11 +3335,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3336
3335
|
context "when binding the relation multiple times" do
|
3337
3336
|
|
3338
3337
|
let(:person) do
|
3339
|
-
Person.create
|
3338
|
+
Person.create!
|
3340
3339
|
end
|
3341
3340
|
|
3342
3341
|
let(:preference) do
|
3343
|
-
person.preferences.create(name: "testing")
|
3342
|
+
person.preferences.create!(name: "testing")
|
3344
3343
|
end
|
3345
3344
|
|
3346
3345
|
before do
|
@@ -3359,19 +3358,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3359
3358
|
context "when the association has order criteria" do
|
3360
3359
|
|
3361
3360
|
let(:person) do
|
3362
|
-
Person.create
|
3361
|
+
Person.create!
|
3363
3362
|
end
|
3364
3363
|
|
3365
3364
|
let(:preference_one) do
|
3366
|
-
OrderedPreference.create(name: 'preference-1', value: 10)
|
3365
|
+
OrderedPreference.create!(name: 'preference-1', value: 10)
|
3367
3366
|
end
|
3368
3367
|
|
3369
3368
|
let(:preference_two) do
|
3370
|
-
OrderedPreference.create(name: 'preference-2', value: 20)
|
3369
|
+
OrderedPreference.create!(name: 'preference-2', value: 20)
|
3371
3370
|
end
|
3372
3371
|
|
3373
3372
|
let(:preference_three) do
|
3374
|
-
OrderedPreference.create(name: 'preference-3', value: 20)
|
3373
|
+
OrderedPreference.create!(name: 'preference-3', value: 20)
|
3375
3374
|
end
|
3376
3375
|
|
3377
3376
|
before do
|
@@ -3395,7 +3394,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3395
3394
|
context "when the parent is not a new record and freshly loaded" do
|
3396
3395
|
|
3397
3396
|
let(:person) do
|
3398
|
-
Person.create
|
3397
|
+
Person.create!
|
3399
3398
|
end
|
3400
3399
|
|
3401
3400
|
let(:preference) do
|
@@ -3404,7 +3403,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3404
3403
|
|
3405
3404
|
before do
|
3406
3405
|
person.preferences = [ preference ]
|
3407
|
-
person.save
|
3406
|
+
person.save!
|
3408
3407
|
person.reload
|
3409
3408
|
person.preferences = nil
|
3410
3409
|
end
|
@@ -3427,15 +3426,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3427
3426
|
context "when reloading the relation" do
|
3428
3427
|
|
3429
3428
|
let!(:person) do
|
3430
|
-
Person.create
|
3429
|
+
Person.create!
|
3431
3430
|
end
|
3432
3431
|
|
3433
3432
|
let!(:preference_one) do
|
3434
|
-
Preference.create(name: "one")
|
3433
|
+
Preference.create!(name: "one")
|
3435
3434
|
end
|
3436
3435
|
|
3437
3436
|
let!(:preference_two) do
|
3438
|
-
Preference.create(name: "two")
|
3437
|
+
Preference.create!(name: "two")
|
3439
3438
|
end
|
3440
3439
|
|
3441
3440
|
before do
|
@@ -3479,7 +3478,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3479
3478
|
context "when the document is new" do
|
3480
3479
|
|
3481
3480
|
let!(:person) do
|
3482
|
-
Person.create(preference_names: "one, two")
|
3481
|
+
Person.create!(preference_names: "one, two")
|
3483
3482
|
end
|
3484
3483
|
|
3485
3484
|
let(:preference_one) do
|
@@ -3515,23 +3514,23 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3515
3514
|
end
|
3516
3515
|
|
3517
3516
|
let(:preference_one) do
|
3518
|
-
Preference.create(name: "one")
|
3517
|
+
Preference.create!(name: "one")
|
3519
3518
|
end
|
3520
3519
|
|
3521
3520
|
let(:preference_two) do
|
3522
|
-
Preference.create(name: "two")
|
3521
|
+
Preference.create!(name: "two")
|
3523
3522
|
end
|
3524
3523
|
|
3525
3524
|
before do
|
3526
3525
|
person.preference_ids = [ preference_one.id, preference_two.id ]
|
3527
|
-
person.save
|
3526
|
+
person.save!
|
3528
3527
|
end
|
3529
3528
|
|
3530
3529
|
context "and the order is changed" do
|
3531
3530
|
|
3532
3531
|
before do
|
3533
3532
|
person.preference_ids = [ preference_two.id, preference_one.id ]
|
3534
|
-
person.save
|
3533
|
+
person.save!
|
3535
3534
|
end
|
3536
3535
|
|
3537
3536
|
let(:reloaded) do
|
@@ -3548,13 +3547,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3548
3547
|
context "and the order is changed and an element is added" do
|
3549
3548
|
|
3550
3549
|
let(:preference_three) do
|
3551
|
-
Preference.create(name: "three")
|
3550
|
+
Preference.create!(name: "three")
|
3552
3551
|
end
|
3553
3552
|
|
3554
3553
|
before do
|
3555
3554
|
person.preference_ids =
|
3556
3555
|
[ preference_two.id, preference_one.id, preference_three.id ]
|
3557
|
-
person.save
|
3556
|
+
person.save!
|
3558
3557
|
end
|
3559
3558
|
|
3560
3559
|
let(:reloaded) do
|
@@ -3571,16 +3570,16 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3571
3570
|
context "and the order is changed and an element is removed" do
|
3572
3571
|
|
3573
3572
|
let(:preference_three) do
|
3574
|
-
Preference.create(name: "three")
|
3573
|
+
Preference.create!(name: "three")
|
3575
3574
|
end
|
3576
3575
|
|
3577
3576
|
before do
|
3578
3577
|
person.preference_ids =
|
3579
3578
|
[ preference_one.id, preference_two.id, preference_three.id ]
|
3580
|
-
person.save
|
3579
|
+
person.save!
|
3581
3580
|
person.preference_ids =
|
3582
3581
|
[ preference_three.id, preference_two.id ]
|
3583
|
-
person.save
|
3582
|
+
person.save!
|
3584
3583
|
end
|
3585
3584
|
|
3586
3585
|
let(:reloaded) do
|
@@ -3630,15 +3629,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3630
3629
|
context "when the relation exists" do
|
3631
3630
|
|
3632
3631
|
let!(:person) do
|
3633
|
-
Person.create
|
3632
|
+
Person.create!
|
3634
3633
|
end
|
3635
3634
|
|
3636
3635
|
let!(:pref_one) do
|
3637
|
-
person.preferences.create
|
3636
|
+
person.preferences.create!
|
3638
3637
|
end
|
3639
3638
|
|
3640
3639
|
let!(:pref_two) do
|
3641
|
-
Preference.create
|
3640
|
+
Preference.create!
|
3642
3641
|
end
|
3643
3642
|
|
3644
3643
|
before do
|
@@ -3654,15 +3653,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3654
3653
|
context "when using a different primary key" do
|
3655
3654
|
|
3656
3655
|
let(:dog) do
|
3657
|
-
Dog.create(name: 'Doggie')
|
3656
|
+
Dog.create!(name: 'Doggie')
|
3658
3657
|
end
|
3659
3658
|
|
3660
3659
|
let(:cat) do
|
3661
|
-
Cat.create(name: 'Kitty')
|
3660
|
+
Cat.create!(name: 'Kitty')
|
3661
|
+
end
|
3662
|
+
|
3663
|
+
let(:another_cat) do
|
3664
|
+
Cat.create!(name: 'Kitten')
|
3662
3665
|
end
|
3663
3666
|
|
3664
3667
|
let(:fire_hydrant) do
|
3665
|
-
FireHydrant.create(location: '221B Baker Street')
|
3668
|
+
FireHydrant.create!(location: '221B Baker Street')
|
3666
3669
|
end
|
3667
3670
|
|
3668
3671
|
context "when adding to a one-way many to many" do
|
@@ -3676,6 +3679,28 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3676
3679
|
end
|
3677
3680
|
end
|
3678
3681
|
|
3682
|
+
context "when adding multiple documents to a one-way many to many" do
|
3683
|
+
|
3684
|
+
before do
|
3685
|
+
fire_hydrant.cats.push([cat, another_cat])
|
3686
|
+
end
|
3687
|
+
|
3688
|
+
it "adds the pk values to the fk set" do
|
3689
|
+
expect(fire_hydrant.cat_ids).to eq([cat.name, another_cat.name])
|
3690
|
+
end
|
3691
|
+
end
|
3692
|
+
|
3693
|
+
context "when adding a new document to a one-way many to many" do
|
3694
|
+
|
3695
|
+
before do
|
3696
|
+
fire_hydrant.cats.build name: 'Kitten'
|
3697
|
+
end
|
3698
|
+
|
3699
|
+
it "adds the pk values to the fk set" do
|
3700
|
+
expect(fire_hydrant.cat_ids).to eq(['Kitten'])
|
3701
|
+
end
|
3702
|
+
end
|
3703
|
+
|
3679
3704
|
context "when adding to a two-way many to many" do
|
3680
3705
|
|
3681
3706
|
before do
|
@@ -3732,10 +3757,10 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
3732
3757
|
end
|
3733
3758
|
|
3734
3759
|
it "should assign relation from both sides" do
|
3735
|
-
p1 = Project.create name: 'Foo'
|
3736
|
-
p2 = Project.create name: 'Bar'
|
3737
|
-
d1 = Distributor.create name: 'Rock'
|
3738
|
-
d2 = Distributor.create name: 'Soul'
|
3760
|
+
p1 = Project.create! name: 'Foo'
|
3761
|
+
p2 = Project.create! name: 'Bar'
|
3762
|
+
d1 = Distributor.create! name: 'Rock'
|
3763
|
+
d2 = Distributor.create! name: 'Soul'
|
3739
3764
|
|
3740
3765
|
p1.distributors << d1
|
3741
3766
|
expect(p1.d_ids).to match_array([d1.id])
|