mongoid 7.3.2 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|
|
@@ -115,7 +114,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
115
114
|
context "when the parent is not a new record" do
|
|
116
115
|
|
|
117
116
|
let(:person) do
|
|
118
|
-
Person.create
|
|
117
|
+
Person.create!
|
|
119
118
|
end
|
|
120
119
|
|
|
121
120
|
let(:address) do
|
|
@@ -134,7 +133,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
134
133
|
context "when appending more than one document at once" do
|
|
135
134
|
|
|
136
135
|
let(:person) do
|
|
137
|
-
Person.create
|
|
136
|
+
Person.create!
|
|
138
137
|
end
|
|
139
138
|
|
|
140
139
|
let(:address_one) do
|
|
@@ -210,7 +209,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
210
209
|
context "when the parent is not a new record" do
|
|
211
210
|
|
|
212
211
|
let(:parent_role) do
|
|
213
|
-
Role.create(name: "CEO")
|
|
212
|
+
Role.create!(name: "CEO")
|
|
214
213
|
end
|
|
215
214
|
|
|
216
215
|
let(:child_role) do
|
|
@@ -229,7 +228,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
229
228
|
|
|
230
229
|
context "when the child has one sided many to many relation" do
|
|
231
230
|
let(:person) do
|
|
232
|
-
Person.create
|
|
231
|
+
Person.create!
|
|
233
232
|
end
|
|
234
233
|
|
|
235
234
|
let(:message) do
|
|
@@ -312,7 +311,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
312
311
|
context "when the parent is not a new record" do
|
|
313
312
|
|
|
314
313
|
let(:person) do
|
|
315
|
-
Person.create
|
|
314
|
+
Person.create!
|
|
316
315
|
end
|
|
317
316
|
|
|
318
317
|
let(:address) do
|
|
@@ -333,11 +332,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
333
332
|
context "when setting via an overridden method from the parent" do
|
|
334
333
|
|
|
335
334
|
let!(:person) do
|
|
336
|
-
Person.create
|
|
335
|
+
Person.create!
|
|
337
336
|
end
|
|
338
337
|
|
|
339
338
|
let!(:address) do
|
|
340
|
-
person.addresses.create(street: "Alt Treptow")
|
|
339
|
+
person.addresses.create!(street: "Alt Treptow")
|
|
341
340
|
end
|
|
342
341
|
|
|
343
342
|
let!(:new_address) do
|
|
@@ -345,7 +344,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
345
344
|
end
|
|
346
345
|
|
|
347
346
|
before do
|
|
348
|
-
person.update_attributes(set_addresses: [ new_address ])
|
|
347
|
+
person.update_attributes!(set_addresses: [ new_address ])
|
|
349
348
|
end
|
|
350
349
|
|
|
351
350
|
it "overwrites the existing addresses" do
|
|
@@ -375,7 +374,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
375
374
|
|
|
376
375
|
before do
|
|
377
376
|
person.addresses = [ address_two ]
|
|
378
|
-
person.save
|
|
377
|
+
person.save!
|
|
379
378
|
end
|
|
380
379
|
|
|
381
380
|
it "sets the new documents" do
|
|
@@ -409,7 +408,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
409
408
|
|
|
410
409
|
before do
|
|
411
410
|
doctor.addresses = [ address_one ]
|
|
412
|
-
doctor.save
|
|
411
|
+
doctor.save!
|
|
413
412
|
end
|
|
414
413
|
|
|
415
414
|
it "sets the documents" do
|
|
@@ -428,7 +427,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
428
427
|
|
|
429
428
|
before do
|
|
430
429
|
doctor.addresses = [ address_two ]
|
|
431
|
-
doctor.save
|
|
430
|
+
doctor.save!
|
|
432
431
|
end
|
|
433
432
|
|
|
434
433
|
it "sets the new documents" do
|
|
@@ -446,7 +445,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
446
445
|
context "when replacing an existing relation" do
|
|
447
446
|
|
|
448
447
|
let(:person) do
|
|
449
|
-
Person.create(addresses: addresses)
|
|
448
|
+
Person.create!(addresses: addresses)
|
|
450
449
|
end
|
|
451
450
|
|
|
452
451
|
let(:addresses) do
|
|
@@ -507,7 +506,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
507
506
|
end
|
|
508
507
|
|
|
509
508
|
let(:tracking_id) do
|
|
510
|
-
MyCompany::Model::TrackingId.create
|
|
509
|
+
MyCompany::Model::TrackingId.create!
|
|
511
510
|
end
|
|
512
511
|
|
|
513
512
|
let(:history) do
|
|
@@ -542,7 +541,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
542
541
|
inflect.singular("address_numbers", "address_number")
|
|
543
542
|
end
|
|
544
543
|
slave.address_numbers << AddressNumber.new(country_code: 1)
|
|
545
|
-
slave.save
|
|
544
|
+
slave.save!
|
|
546
545
|
end
|
|
547
546
|
|
|
548
547
|
it "requires an inflection to determine the class" do
|
|
@@ -553,15 +552,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
553
552
|
context "when setting the entire tree via a hash" do
|
|
554
553
|
|
|
555
554
|
let(:person) do
|
|
556
|
-
Person.create
|
|
555
|
+
Person.create!
|
|
557
556
|
end
|
|
558
557
|
|
|
559
558
|
let!(:address_one) do
|
|
560
|
-
person.addresses.create(street: "Tauentzienstr")
|
|
559
|
+
person.addresses.create!(street: "Tauentzienstr")
|
|
561
560
|
end
|
|
562
561
|
|
|
563
562
|
let!(:address_two) do
|
|
564
|
-
person.addresses.create(street: "Kudamm")
|
|
563
|
+
person.addresses.create!(street: "Kudamm")
|
|
565
564
|
end
|
|
566
565
|
|
|
567
566
|
let(:attributes) do
|
|
@@ -572,7 +571,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
572
571
|
|
|
573
572
|
before do
|
|
574
573
|
attributes["addresses"][0]["city"] = "Berlin"
|
|
575
|
-
person.update_attributes(attributes)
|
|
574
|
+
person.update_attributes!(attributes)
|
|
576
575
|
end
|
|
577
576
|
|
|
578
577
|
it "sets the new attributes" do
|
|
@@ -588,15 +587,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
588
587
|
context "when setting an embedded sub-document tree via a hash" do
|
|
589
588
|
|
|
590
589
|
let(:person) do
|
|
591
|
-
Person.create
|
|
590
|
+
Person.create!
|
|
592
591
|
end
|
|
593
592
|
|
|
594
593
|
let!(:address_one) do
|
|
595
|
-
person.addresses.create(street: "Tauentzienstr")
|
|
594
|
+
person.addresses.create!(street: "Tauentzienstr")
|
|
596
595
|
end
|
|
597
596
|
|
|
598
597
|
let!(:location_one) do
|
|
599
|
-
person.addresses.first.locations.create(name: "Work")
|
|
598
|
+
person.addresses.first.locations.create!(name: "Work")
|
|
600
599
|
end
|
|
601
600
|
|
|
602
601
|
let(:attributes) do
|
|
@@ -608,7 +607,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
608
607
|
before do
|
|
609
608
|
attributes["city"] = "Berlin"
|
|
610
609
|
attributes["locations"][0]["name"] = "Home"
|
|
611
|
-
person.addresses.first.update_attributes(attributes)
|
|
610
|
+
person.addresses.first.update_attributes!(attributes)
|
|
612
611
|
end
|
|
613
612
|
|
|
614
613
|
it "sets the new attributes on the address" do
|
|
@@ -681,7 +680,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
681
680
|
context "when the parent is not a new record" do
|
|
682
681
|
|
|
683
682
|
let(:parent_role) do
|
|
684
|
-
Role.create(name: "CTO")
|
|
683
|
+
Role.create!(name: "CTO")
|
|
685
684
|
end
|
|
686
685
|
|
|
687
686
|
let(:child_role) do
|
|
@@ -749,7 +748,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
749
748
|
context "when the parent is persisted" do
|
|
750
749
|
|
|
751
750
|
let(:person) do
|
|
752
|
-
Person.create
|
|
751
|
+
Person.create!
|
|
753
752
|
end
|
|
754
753
|
|
|
755
754
|
let(:address) do
|
|
@@ -798,7 +797,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
798
797
|
context "when saving the parent" do
|
|
799
798
|
|
|
800
799
|
before do
|
|
801
|
-
person.save
|
|
800
|
+
person.save!
|
|
802
801
|
person.reload
|
|
803
802
|
end
|
|
804
803
|
|
|
@@ -812,7 +811,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
812
811
|
context "when setting on a reload" do
|
|
813
812
|
|
|
814
813
|
let(:person) do
|
|
815
|
-
Person.create
|
|
814
|
+
Person.create!
|
|
816
815
|
end
|
|
817
816
|
|
|
818
817
|
let(:address) do
|
|
@@ -882,7 +881,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
882
881
|
context "when the documents are not new records" do
|
|
883
882
|
|
|
884
883
|
let(:parent_role) do
|
|
885
|
-
Role.create
|
|
884
|
+
Role.create!
|
|
886
885
|
end
|
|
887
886
|
|
|
888
887
|
let(:child_role) do
|
|
@@ -912,13 +911,13 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
912
911
|
describe "#as_document" do
|
|
913
912
|
|
|
914
913
|
let!(:person) do
|
|
915
|
-
Person.create
|
|
914
|
+
Person.create!
|
|
916
915
|
end
|
|
917
916
|
|
|
918
917
|
context 'when a string is used to access an attribute' do
|
|
919
918
|
|
|
920
919
|
let!(:address) do
|
|
921
|
-
person.addresses.create(street: "one")
|
|
920
|
+
person.addresses.create!(street: "one")
|
|
922
921
|
end
|
|
923
922
|
|
|
924
923
|
let(:document) do
|
|
@@ -933,7 +932,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
933
932
|
context 'when a symbol is used to access an attribute' do
|
|
934
933
|
|
|
935
934
|
let!(:address) do
|
|
936
|
-
person.addresses.create(street: "one")
|
|
935
|
+
person.addresses.create!(street: "one")
|
|
937
936
|
end
|
|
938
937
|
|
|
939
938
|
let(:document) do
|
|
@@ -948,7 +947,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
948
947
|
context "when the relation has no default scope" do
|
|
949
948
|
|
|
950
949
|
let!(:address) do
|
|
951
|
-
person.addresses.create(street: "one")
|
|
950
|
+
person.addresses.create!(street: "one")
|
|
952
951
|
end
|
|
953
952
|
|
|
954
953
|
let(:document) do
|
|
@@ -1105,7 +1104,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1105
1104
|
context "when providing nested attributes" do
|
|
1106
1105
|
|
|
1107
1106
|
let(:person) do
|
|
1108
|
-
Person.create
|
|
1107
|
+
Person.create!
|
|
1109
1108
|
end
|
|
1110
1109
|
|
|
1111
1110
|
let(:address) do
|
|
@@ -1119,7 +1118,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1119
1118
|
context "when followed by a save" do
|
|
1120
1119
|
|
|
1121
1120
|
before do
|
|
1122
|
-
address.save
|
|
1121
|
+
address.save!
|
|
1123
1122
|
end
|
|
1124
1123
|
|
|
1125
1124
|
let(:location) do
|
|
@@ -1139,13 +1138,13 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1139
1138
|
context "when the parent has been persisted" do
|
|
1140
1139
|
|
|
1141
1140
|
let(:person) do
|
|
1142
|
-
Person.create
|
|
1141
|
+
Person.create!
|
|
1143
1142
|
end
|
|
1144
1143
|
|
|
1145
1144
|
context "when the children are persisted" do
|
|
1146
1145
|
|
|
1147
1146
|
let!(:address) do
|
|
1148
|
-
person.addresses.create(street: "High St")
|
|
1147
|
+
person.addresses.create!(street: "High St")
|
|
1149
1148
|
end
|
|
1150
1149
|
|
|
1151
1150
|
let!(:relation) do
|
|
@@ -1261,7 +1260,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1261
1260
|
context "when the parent is not a new record" do
|
|
1262
1261
|
|
|
1263
1262
|
let(:person) do
|
|
1264
|
-
Person.create
|
|
1263
|
+
Person.create!
|
|
1265
1264
|
end
|
|
1266
1265
|
|
|
1267
1266
|
let(:address) do
|
|
@@ -1280,7 +1279,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1280
1279
|
context "when concatenating an empty array" do
|
|
1281
1280
|
|
|
1282
1281
|
let(:person) do
|
|
1283
|
-
Person.create
|
|
1282
|
+
Person.create!
|
|
1284
1283
|
end
|
|
1285
1284
|
|
|
1286
1285
|
before do
|
|
@@ -1296,7 +1295,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1296
1295
|
context "when appending more than one document at once" do
|
|
1297
1296
|
|
|
1298
1297
|
let(:person) do
|
|
1299
|
-
Person.create
|
|
1298
|
+
Person.create!
|
|
1300
1299
|
end
|
|
1301
1300
|
|
|
1302
1301
|
let(:address_one) do
|
|
@@ -1368,7 +1367,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1368
1367
|
context "when the parent is not a new record" do
|
|
1369
1368
|
|
|
1370
1369
|
let(:parent_role) do
|
|
1371
|
-
Role.create(name: "CEO")
|
|
1370
|
+
Role.create!(name: "CEO")
|
|
1372
1371
|
end
|
|
1373
1372
|
|
|
1374
1373
|
let(:child_role) do
|
|
@@ -1389,49 +1388,261 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1389
1388
|
describe "#count" do
|
|
1390
1389
|
|
|
1391
1390
|
let(:person) do
|
|
1392
|
-
Person.create
|
|
1391
|
+
Person.create!
|
|
1393
1392
|
end
|
|
1394
1393
|
|
|
1395
1394
|
before do
|
|
1396
|
-
person.addresses.create(street: "Upper")
|
|
1395
|
+
person.addresses.create!(street: "Upper")
|
|
1397
1396
|
person.addresses.build(street: "Bond")
|
|
1397
|
+
person.addresses.build(street: "Lower")
|
|
1398
1398
|
end
|
|
1399
1399
|
|
|
1400
1400
|
it "returns the number of persisted documents" do
|
|
1401
1401
|
expect(person.addresses.count).to eq(1)
|
|
1402
1402
|
end
|
|
1403
|
+
|
|
1404
|
+
context 'block form' do
|
|
1405
|
+
it "iterates across all documents" do
|
|
1406
|
+
expect(person.addresses.count {|a| a.persisted? }).to eq(1)
|
|
1407
|
+
expect(person.addresses.count {|a| !a.persisted? }).to eq(2)
|
|
1408
|
+
expect(person.addresses.count {|a| a.street.include?('on') }).to eq(1)
|
|
1409
|
+
expect(person.addresses.count {|a| a.street.ends_with?('er') }).to eq(2)
|
|
1410
|
+
end
|
|
1411
|
+
end
|
|
1412
|
+
|
|
1413
|
+
context 'argument form' do
|
|
1414
|
+
it "behaves correctly when given a model instance" do
|
|
1415
|
+
expect(person.addresses.count(person.addresses.first)).to eq(1)
|
|
1416
|
+
end
|
|
1417
|
+
|
|
1418
|
+
it "behaves correctly when given a non-model instance" do
|
|
1419
|
+
expect(person.addresses.count(1)).to eq(0)
|
|
1420
|
+
end
|
|
1421
|
+
end
|
|
1403
1422
|
end
|
|
1404
1423
|
|
|
1405
1424
|
describe "#any?" do
|
|
1406
1425
|
|
|
1407
1426
|
let(:person) do
|
|
1408
|
-
Person.create
|
|
1427
|
+
Person.create!
|
|
1409
1428
|
end
|
|
1410
1429
|
|
|
1411
1430
|
context "when documents are persisted" do
|
|
1412
1431
|
before do
|
|
1413
|
-
person.addresses.create(street: "Upper")
|
|
1432
|
+
person.addresses.create!(street: "Upper")
|
|
1414
1433
|
end
|
|
1415
1434
|
|
|
1416
1435
|
it "returns true" do
|
|
1417
1436
|
expect(person.addresses.any?).to be true
|
|
1418
1437
|
end
|
|
1438
|
+
|
|
1439
|
+
it "block form iterates across all documents" do
|
|
1440
|
+
expect(person.addresses.any? {|a| a.street == "Upper" }).to be true
|
|
1441
|
+
expect(person.addresses.any? {|a| a.street == "Bond" }).to be false
|
|
1442
|
+
end
|
|
1443
|
+
|
|
1444
|
+
context 'argument form' do
|
|
1445
|
+
it "behaves correctly when given a model instance" do
|
|
1446
|
+
expect(person.addresses.any?(person.addresses.first)).to be true
|
|
1447
|
+
end
|
|
1448
|
+
|
|
1449
|
+
it "behaves correctly when given a non-model instance" do
|
|
1450
|
+
expect(person.addresses.any?(1)).to be false
|
|
1451
|
+
end
|
|
1452
|
+
end
|
|
1419
1453
|
end
|
|
1420
|
-
|
|
1454
|
+
|
|
1421
1455
|
context "when documents are not persisted" do
|
|
1422
1456
|
before do
|
|
1423
1457
|
person.addresses.build(street: "Bond")
|
|
1424
1458
|
end
|
|
1425
|
-
|
|
1459
|
+
|
|
1426
1460
|
it "returns true" do
|
|
1427
1461
|
expect(person.addresses.any?).to be true
|
|
1428
1462
|
end
|
|
1463
|
+
|
|
1464
|
+
it "block form iterates across all documents" do
|
|
1465
|
+
expect(person.addresses.any? {|a| a.street == "Upper" }).to be false
|
|
1466
|
+
expect(person.addresses.any? {|a| a.street == "Bond" }).to be true
|
|
1467
|
+
end
|
|
1468
|
+
|
|
1469
|
+
context 'argument form' do
|
|
1470
|
+
it "behaves correctly when given a model instance" do
|
|
1471
|
+
expect(person.addresses.any?(person.addresses.first)).to be true
|
|
1472
|
+
end
|
|
1473
|
+
|
|
1474
|
+
it "behaves correctly when given a non-model instance" do
|
|
1475
|
+
expect(person.addresses.any?(1)).to be false
|
|
1476
|
+
end
|
|
1477
|
+
end
|
|
1429
1478
|
end
|
|
1430
1479
|
|
|
1431
|
-
context "when documents are not
|
|
1480
|
+
context "when documents are not present" do
|
|
1432
1481
|
it "returns false" do
|
|
1433
1482
|
expect(person.addresses.any?).to be false
|
|
1434
1483
|
end
|
|
1484
|
+
|
|
1485
|
+
it "block form iterates across all documents" do
|
|
1486
|
+
expect(person.addresses.any?(&:a)).to be false
|
|
1487
|
+
end
|
|
1488
|
+
|
|
1489
|
+
it "argument form is supported" do
|
|
1490
|
+
expect(person.addresses.any?(1)).to be false
|
|
1491
|
+
end
|
|
1492
|
+
end
|
|
1493
|
+
end
|
|
1494
|
+
|
|
1495
|
+
describe "#all?" do
|
|
1496
|
+
|
|
1497
|
+
let(:person) do
|
|
1498
|
+
Person.create!
|
|
1499
|
+
end
|
|
1500
|
+
|
|
1501
|
+
context "when documents are persisted" do
|
|
1502
|
+
before do
|
|
1503
|
+
person.addresses.create!(street: "Upper")
|
|
1504
|
+
end
|
|
1505
|
+
|
|
1506
|
+
it "returns true" do
|
|
1507
|
+
expect(person.addresses.all?).to be true
|
|
1508
|
+
end
|
|
1509
|
+
|
|
1510
|
+
it "block form iterates across all documents" do
|
|
1511
|
+
expect(person.addresses.all? {|a| a.street == "Upper" }).to be true
|
|
1512
|
+
expect(person.addresses.all? {|a| a.street == "Bond" }).to be false
|
|
1513
|
+
end
|
|
1514
|
+
|
|
1515
|
+
context 'argument form' do
|
|
1516
|
+
it "behaves correctly when given a model instance" do
|
|
1517
|
+
expect(person.addresses.all?(person.addresses.first)).to be true
|
|
1518
|
+
end
|
|
1519
|
+
|
|
1520
|
+
it "behaves correctly when given a non-model instance" do
|
|
1521
|
+
expect(person.addresses.all?(1)).to be false
|
|
1522
|
+
end
|
|
1523
|
+
end
|
|
1524
|
+
end
|
|
1525
|
+
|
|
1526
|
+
context "when documents are not persisted" do
|
|
1527
|
+
before do
|
|
1528
|
+
person.addresses.build(street: "Bond")
|
|
1529
|
+
end
|
|
1530
|
+
|
|
1531
|
+
it "returns true" do
|
|
1532
|
+
expect(person.addresses.all?).to be true
|
|
1533
|
+
end
|
|
1534
|
+
|
|
1535
|
+
it "block form iterates across all documents" do
|
|
1536
|
+
expect(person.addresses.all? {|a| a.street == "Upper" }).to be false
|
|
1537
|
+
expect(person.addresses.all? {|a| a.street == "Bond" }).to be true
|
|
1538
|
+
end
|
|
1539
|
+
|
|
1540
|
+
context 'argument form' do
|
|
1541
|
+
it "behaves correctly when given a model instance" do
|
|
1542
|
+
expect(person.addresses.all?(person.addresses.first)).to be true
|
|
1543
|
+
end
|
|
1544
|
+
|
|
1545
|
+
it "behaves correctly when given a non-model instance" do
|
|
1546
|
+
expect(person.addresses.all?(1)).to be false
|
|
1547
|
+
end
|
|
1548
|
+
end
|
|
1549
|
+
end
|
|
1550
|
+
|
|
1551
|
+
context "when documents are not present" do
|
|
1552
|
+
it "returns false" do
|
|
1553
|
+
expect(person.addresses.all?).to be true
|
|
1554
|
+
end
|
|
1555
|
+
|
|
1556
|
+
it "block form iterates across all documents" do
|
|
1557
|
+
expect(person.addresses.all?(&:foo)).to be true
|
|
1558
|
+
end
|
|
1559
|
+
|
|
1560
|
+
context 'argument form' do
|
|
1561
|
+
it "behaves correctly when given nil" do
|
|
1562
|
+
expect(person.addresses.all?(nil)).to be true
|
|
1563
|
+
end
|
|
1564
|
+
|
|
1565
|
+
it "behaves correctly when given a non-model instance" do
|
|
1566
|
+
expect(person.addresses.all?(1)).to be true
|
|
1567
|
+
end
|
|
1568
|
+
end
|
|
1569
|
+
end
|
|
1570
|
+
end
|
|
1571
|
+
|
|
1572
|
+
describe "#none?" do
|
|
1573
|
+
|
|
1574
|
+
let(:person) do
|
|
1575
|
+
Person.create!
|
|
1576
|
+
end
|
|
1577
|
+
|
|
1578
|
+
context "when documents are persisted" do
|
|
1579
|
+
before do
|
|
1580
|
+
person.addresses.create!(street: "Upper")
|
|
1581
|
+
end
|
|
1582
|
+
|
|
1583
|
+
it "returns true" do
|
|
1584
|
+
expect(person.addresses.none?).to be false
|
|
1585
|
+
end
|
|
1586
|
+
|
|
1587
|
+
it "block form iterates across all documents" do
|
|
1588
|
+
expect(person.addresses.none? {|a| a.street == "Upper" }).to be false
|
|
1589
|
+
expect(person.addresses.none? {|a| a.street == "Bond" }).to be true
|
|
1590
|
+
end
|
|
1591
|
+
|
|
1592
|
+
context 'argument form' do
|
|
1593
|
+
it "behaves correctly when given a model instance" do
|
|
1594
|
+
expect(person.addresses.none?(person.addresses.first)).to be false
|
|
1595
|
+
end
|
|
1596
|
+
|
|
1597
|
+
it "behaves correctly when given a non-model instance" do
|
|
1598
|
+
expect(person.addresses.none?(1)).to be true
|
|
1599
|
+
end
|
|
1600
|
+
end
|
|
1601
|
+
end
|
|
1602
|
+
|
|
1603
|
+
context "when documents are not persisted" do
|
|
1604
|
+
before do
|
|
1605
|
+
person.addresses.build(street: "Bond")
|
|
1606
|
+
end
|
|
1607
|
+
|
|
1608
|
+
it "returns true" do
|
|
1609
|
+
expect(person.addresses.none?).to be false
|
|
1610
|
+
end
|
|
1611
|
+
|
|
1612
|
+
it "block form iterates across all documents" do
|
|
1613
|
+
expect(person.addresses.none? {|a| a.street == "Upper" }).to be true
|
|
1614
|
+
expect(person.addresses.none? {|a| a.street == "Bond" }).to be false
|
|
1615
|
+
end
|
|
1616
|
+
|
|
1617
|
+
context 'argument form' do
|
|
1618
|
+
it "behaves correctly when given a model instance" do
|
|
1619
|
+
expect(person.addresses.none?(person.addresses.first)).to be false
|
|
1620
|
+
end
|
|
1621
|
+
|
|
1622
|
+
it "behaves correctly when given a non-model instance" do
|
|
1623
|
+
expect(person.addresses.none?(1)).to be true
|
|
1624
|
+
end
|
|
1625
|
+
end
|
|
1626
|
+
end
|
|
1627
|
+
|
|
1628
|
+
context "when documents are not present" do
|
|
1629
|
+
it "returns false" do
|
|
1630
|
+
expect(person.addresses.none?).to be true
|
|
1631
|
+
end
|
|
1632
|
+
|
|
1633
|
+
it "block form iterates across all documents" do
|
|
1634
|
+
expect(person.addresses.none?(&:a)).to be true
|
|
1635
|
+
end
|
|
1636
|
+
|
|
1637
|
+
context 'argument form' do
|
|
1638
|
+
it "behaves correctly when given nil" do
|
|
1639
|
+
expect(person.addresses.none?(nil)).to be true
|
|
1640
|
+
end
|
|
1641
|
+
|
|
1642
|
+
it "behaves correctly when given a non-model instance" do
|
|
1643
|
+
expect(person.addresses.none?(1)).to be true
|
|
1644
|
+
end
|
|
1645
|
+
end
|
|
1435
1646
|
end
|
|
1436
1647
|
end
|
|
1437
1648
|
|
|
@@ -1440,11 +1651,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1440
1651
|
context "when providing multiple attributes" do
|
|
1441
1652
|
|
|
1442
1653
|
let(:person) do
|
|
1443
|
-
Person.create
|
|
1654
|
+
Person.create!
|
|
1444
1655
|
end
|
|
1445
1656
|
|
|
1446
1657
|
let!(:addresses) do
|
|
1447
|
-
person.addresses.create([{ street: "Bond" }, { street: "Upper" }])
|
|
1658
|
+
person.addresses.create!([{ street: "Bond" }, { street: "Upper" }])
|
|
1448
1659
|
end
|
|
1449
1660
|
|
|
1450
1661
|
it "creates multiple documents" do
|
|
@@ -1467,11 +1678,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1467
1678
|
context "when the relation is not cyclic" do
|
|
1468
1679
|
|
|
1469
1680
|
let(:person) do
|
|
1470
|
-
Person.create
|
|
1681
|
+
Person.create!
|
|
1471
1682
|
end
|
|
1472
1683
|
|
|
1473
1684
|
let!(:address) do
|
|
1474
|
-
person.addresses.create(street: "Bond") do |address|
|
|
1685
|
+
person.addresses.create!(street: "Bond") do |address|
|
|
1475
1686
|
address.state = "CA"
|
|
1476
1687
|
end
|
|
1477
1688
|
end
|
|
@@ -1515,7 +1726,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1515
1726
|
context "when embedding a multi word named document" do
|
|
1516
1727
|
|
|
1517
1728
|
let!(:component) do
|
|
1518
|
-
person.address_components.create(street: "Test")
|
|
1729
|
+
person.address_components.create!(street: "Test")
|
|
1519
1730
|
end
|
|
1520
1731
|
|
|
1521
1732
|
it "saves the embedded document" do
|
|
@@ -1527,11 +1738,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1527
1738
|
context "when the relation is cyclic" do
|
|
1528
1739
|
|
|
1529
1740
|
let!(:entry) do
|
|
1530
|
-
Entry.create(title: "hi")
|
|
1741
|
+
Entry.create!(title: "hi")
|
|
1531
1742
|
end
|
|
1532
1743
|
|
|
1533
1744
|
let!(:child_entry) do
|
|
1534
|
-
entry.child_entries.create(title: "hello")
|
|
1745
|
+
entry.child_entries.create!(title: "hello")
|
|
1535
1746
|
end
|
|
1536
1747
|
|
|
1537
1748
|
it "creates a new child" do
|
|
@@ -1543,7 +1754,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1543
1754
|
describe "#create!" do
|
|
1544
1755
|
|
|
1545
1756
|
let(:person) do
|
|
1546
|
-
Person.create
|
|
1757
|
+
Person.create!
|
|
1547
1758
|
end
|
|
1548
1759
|
|
|
1549
1760
|
context "when providing multiple attributes" do
|
|
@@ -1702,7 +1913,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1702
1913
|
describe "#delete_if" do
|
|
1703
1914
|
|
|
1704
1915
|
let(:person) do
|
|
1705
|
-
Person.create
|
|
1916
|
+
Person.create!
|
|
1706
1917
|
end
|
|
1707
1918
|
|
|
1708
1919
|
context "when the documents are new" do
|
|
@@ -1751,11 +1962,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1751
1962
|
context "when the documents persisted" do
|
|
1752
1963
|
|
|
1753
1964
|
let!(:address_one) do
|
|
1754
|
-
person.addresses.create(street: "Bond")
|
|
1965
|
+
person.addresses.create!(street: "Bond")
|
|
1755
1966
|
end
|
|
1756
1967
|
|
|
1757
1968
|
let!(:address_two) do
|
|
1758
|
-
person.addresses.create(street: "Upper")
|
|
1969
|
+
person.addresses.create!(street: "Upper")
|
|
1759
1970
|
end
|
|
1760
1971
|
|
|
1761
1972
|
context "when a block is provided" do
|
|
@@ -1810,7 +2021,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1810
2021
|
describe "##{method}" do
|
|
1811
2022
|
|
|
1812
2023
|
let(:person) do
|
|
1813
|
-
Person.create
|
|
2024
|
+
Person.create!
|
|
1814
2025
|
end
|
|
1815
2026
|
|
|
1816
2027
|
context "when the documents are new" do
|
|
@@ -1864,11 +2075,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1864
2075
|
context "when the documents persisted" do
|
|
1865
2076
|
|
|
1866
2077
|
let!(:address_one) do
|
|
1867
|
-
person.addresses.create(street: "Bond")
|
|
2078
|
+
person.addresses.create!(street: "Bond")
|
|
1868
2079
|
end
|
|
1869
2080
|
|
|
1870
2081
|
let!(:address_two) do
|
|
1871
|
-
person.addresses.create(street: "Upper")
|
|
2082
|
+
person.addresses.create!(street: "Upper")
|
|
1872
2083
|
end
|
|
1873
2084
|
|
|
1874
2085
|
context "when conditions are provided" do
|
|
@@ -1915,7 +2126,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1915
2126
|
context "when removing and resaving" do
|
|
1916
2127
|
|
|
1917
2128
|
let(:owner) do
|
|
1918
|
-
PetOwner.create(title: "AKC")
|
|
2129
|
+
PetOwner.create!(title: "AKC")
|
|
1919
2130
|
end
|
|
1920
2131
|
|
|
1921
2132
|
before do
|
|
@@ -2011,13 +2222,13 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2011
2222
|
describe "#exists?" do
|
|
2012
2223
|
|
|
2013
2224
|
let!(:person) do
|
|
2014
|
-
Person.create
|
|
2225
|
+
Person.create!
|
|
2015
2226
|
end
|
|
2016
2227
|
|
|
2017
2228
|
context "when documents exist in the database" do
|
|
2018
2229
|
|
|
2019
2230
|
before do
|
|
2020
|
-
person.addresses.create(street: "Bond St")
|
|
2231
|
+
person.addresses.create!(street: "Bond St")
|
|
2021
2232
|
end
|
|
2022
2233
|
|
|
2023
2234
|
it "returns true" do
|
|
@@ -2148,12 +2359,50 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2148
2359
|
end
|
|
2149
2360
|
end
|
|
2150
2361
|
end
|
|
2362
|
+
|
|
2363
|
+
context "with block" do
|
|
2364
|
+
let!(:author) do
|
|
2365
|
+
Person.create!(title: 'Person')
|
|
2366
|
+
end
|
|
2367
|
+
|
|
2368
|
+
let!(:video_one) do
|
|
2369
|
+
author.videos.create!(title: 'video one')
|
|
2370
|
+
end
|
|
2371
|
+
|
|
2372
|
+
let!(:video_two) do
|
|
2373
|
+
author.videos.create!(title: 'video two')
|
|
2374
|
+
end
|
|
2375
|
+
|
|
2376
|
+
it "finds one" do
|
|
2377
|
+
expect(
|
|
2378
|
+
author.videos.find do |video|
|
|
2379
|
+
video.title == 'video one'
|
|
2380
|
+
end
|
|
2381
|
+
).to eq(video_one)
|
|
2382
|
+
end
|
|
2383
|
+
|
|
2384
|
+
it "returns first match of multiple" do
|
|
2385
|
+
expect(
|
|
2386
|
+
author.videos.find do |video|
|
|
2387
|
+
['video one', 'video two'].include?(video.title)
|
|
2388
|
+
end
|
|
2389
|
+
).to be_a(Video)
|
|
2390
|
+
end
|
|
2391
|
+
|
|
2392
|
+
it "returns nil when not found" do
|
|
2393
|
+
expect(
|
|
2394
|
+
author.videos.find do |video|
|
|
2395
|
+
video.title == 'non exiting one'
|
|
2396
|
+
end
|
|
2397
|
+
).to be_nil
|
|
2398
|
+
end
|
|
2399
|
+
end
|
|
2151
2400
|
end
|
|
2152
2401
|
|
|
2153
2402
|
describe "#find_or_create_by" do
|
|
2154
2403
|
|
|
2155
2404
|
let(:person) do
|
|
2156
|
-
Person.create
|
|
2405
|
+
Person.create!
|
|
2157
2406
|
end
|
|
2158
2407
|
|
|
2159
2408
|
let!(:address) do
|
|
@@ -2196,11 +2445,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2196
2445
|
# context "when the child belongs to another document" do
|
|
2197
2446
|
#
|
|
2198
2447
|
# let(:product) do
|
|
2199
|
-
# Product.create
|
|
2448
|
+
# Product.create!
|
|
2200
2449
|
# end
|
|
2201
2450
|
#
|
|
2202
2451
|
# let(:purchase) do
|
|
2203
|
-
# Purchase.create
|
|
2452
|
+
# Purchase.create!
|
|
2204
2453
|
# end
|
|
2205
2454
|
#
|
|
2206
2455
|
# let(:line_item) do
|
|
@@ -2219,7 +2468,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2219
2468
|
describe "#find_or_create_by!" do
|
|
2220
2469
|
|
|
2221
2470
|
let(:person) do
|
|
2222
|
-
Person.create
|
|
2471
|
+
Person.create!
|
|
2223
2472
|
end
|
|
2224
2473
|
|
|
2225
2474
|
let!(:address) do
|
|
@@ -2271,11 +2520,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2271
2520
|
# context "when the child belongs to another document" do
|
|
2272
2521
|
#
|
|
2273
2522
|
# let(:product) do
|
|
2274
|
-
# Product.create
|
|
2523
|
+
# Product.create!
|
|
2275
2524
|
# end
|
|
2276
2525
|
#
|
|
2277
2526
|
# let(:purchase) do
|
|
2278
|
-
# Purchase.create
|
|
2527
|
+
# Purchase.create!
|
|
2279
2528
|
# end
|
|
2280
2529
|
#
|
|
2281
2530
|
# let(:line_item) do
|
|
@@ -2393,11 +2642,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2393
2642
|
describe "#method_missing" do
|
|
2394
2643
|
|
|
2395
2644
|
let!(:person) do
|
|
2396
|
-
Person.create
|
|
2645
|
+
Person.create!
|
|
2397
2646
|
end
|
|
2398
2647
|
|
|
2399
2648
|
let!(:address_one) do
|
|
2400
|
-
person.addresses.create(
|
|
2649
|
+
person.addresses.create!(
|
|
2401
2650
|
street: "Market",
|
|
2402
2651
|
state: "CA",
|
|
2403
2652
|
services: [ "1", "2" ]
|
|
@@ -2405,7 +2654,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2405
2654
|
end
|
|
2406
2655
|
|
|
2407
2656
|
let!(:address_two) do
|
|
2408
|
-
person.addresses.create(
|
|
2657
|
+
person.addresses.create!(
|
|
2409
2658
|
street: "Madison",
|
|
2410
2659
|
state: "NY",
|
|
2411
2660
|
services: [ "1", "2" ]
|
|
@@ -2553,17 +2802,17 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2553
2802
|
describe "#pop" do
|
|
2554
2803
|
|
|
2555
2804
|
let(:person) do
|
|
2556
|
-
Person.create
|
|
2805
|
+
Person.create!
|
|
2557
2806
|
end
|
|
2558
2807
|
|
|
2559
2808
|
context "when no argument is provided" do
|
|
2560
2809
|
|
|
2561
2810
|
let!(:address_one) do
|
|
2562
|
-
person.addresses.create(street: "sonnenallee")
|
|
2811
|
+
person.addresses.create!(street: "sonnenallee")
|
|
2563
2812
|
end
|
|
2564
2813
|
|
|
2565
2814
|
let!(:address_two) do
|
|
2566
|
-
person.addresses.create(street: "hermannstr")
|
|
2815
|
+
person.addresses.create!(street: "hermannstr")
|
|
2567
2816
|
end
|
|
2568
2817
|
|
|
2569
2818
|
let!(:popped) do
|
|
@@ -2586,11 +2835,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2586
2835
|
context "when an integer is provided" do
|
|
2587
2836
|
|
|
2588
2837
|
let!(:address_one) do
|
|
2589
|
-
person.addresses.create(street: "sonnenallee")
|
|
2838
|
+
person.addresses.create!(street: "sonnenallee")
|
|
2590
2839
|
end
|
|
2591
2840
|
|
|
2592
2841
|
let!(:address_two) do
|
|
2593
|
-
person.addresses.create(street: "hermannstr")
|
|
2842
|
+
person.addresses.create!(street: "hermannstr")
|
|
2594
2843
|
end
|
|
2595
2844
|
|
|
2596
2845
|
context "when the number is zero" do
|
|
@@ -2672,17 +2921,17 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2672
2921
|
describe "#shift" do
|
|
2673
2922
|
|
|
2674
2923
|
let(:person) do
|
|
2675
|
-
Person.create
|
|
2924
|
+
Person.create!
|
|
2676
2925
|
end
|
|
2677
2926
|
|
|
2678
2927
|
context "when no argument is provided" do
|
|
2679
2928
|
|
|
2680
2929
|
let!(:address_one) do
|
|
2681
|
-
person.addresses.create(street: "sonnenallee")
|
|
2930
|
+
person.addresses.create!(street: "sonnenallee")
|
|
2682
2931
|
end
|
|
2683
2932
|
|
|
2684
2933
|
let!(:address_two) do
|
|
2685
|
-
person.addresses.create(street: "hermannstr")
|
|
2934
|
+
person.addresses.create!(street: "hermannstr")
|
|
2686
2935
|
end
|
|
2687
2936
|
|
|
2688
2937
|
let!(:shifted) do
|
|
@@ -2705,11 +2954,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2705
2954
|
context "when an integer is provided" do
|
|
2706
2955
|
|
|
2707
2956
|
let!(:address_one) do
|
|
2708
|
-
person.addresses.create(street: "sonnenallee")
|
|
2957
|
+
person.addresses.create!(street: "sonnenallee")
|
|
2709
2958
|
end
|
|
2710
2959
|
|
|
2711
2960
|
let!(:address_two) do
|
|
2712
|
-
person.addresses.create(street: "hermannstr")
|
|
2961
|
+
person.addresses.create!(street: "hermannstr")
|
|
2713
2962
|
end
|
|
2714
2963
|
|
|
2715
2964
|
context "when the number is zero" do
|
|
@@ -2857,11 +3106,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2857
3106
|
describe "##{method}" do
|
|
2858
3107
|
|
|
2859
3108
|
let(:person) do
|
|
2860
|
-
Person.create
|
|
3109
|
+
Person.create!
|
|
2861
3110
|
end
|
|
2862
3111
|
|
|
2863
3112
|
before do
|
|
2864
|
-
person.addresses.create(street: "Upper")
|
|
3113
|
+
person.addresses.create!(street: "Upper")
|
|
2865
3114
|
person.addresses.build(street: "Bond")
|
|
2866
3115
|
end
|
|
2867
3116
|
|
|
@@ -2899,7 +3148,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2899
3148
|
context "when there are no documents present" do
|
|
2900
3149
|
|
|
2901
3150
|
let(:person) do
|
|
2902
|
-
Person.create
|
|
3151
|
+
Person.create!
|
|
2903
3152
|
end
|
|
2904
3153
|
|
|
2905
3154
|
it "updates nothing" do
|
|
@@ -2910,11 +3159,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2910
3159
|
context "when documents are present" do
|
|
2911
3160
|
|
|
2912
3161
|
let(:person) do
|
|
2913
|
-
Person.create
|
|
3162
|
+
Person.create!
|
|
2914
3163
|
end
|
|
2915
3164
|
|
|
2916
3165
|
let!(:address) do
|
|
2917
|
-
person.addresses.create(street: "Hobrecht", number: 27)
|
|
3166
|
+
person.addresses.create!(street: "Hobrecht", number: 27)
|
|
2918
3167
|
end
|
|
2919
3168
|
|
|
2920
3169
|
context "when updating with a where clause" do
|
|
@@ -2949,16 +3198,16 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2949
3198
|
context "when updating the bottom level" do
|
|
2950
3199
|
|
|
2951
3200
|
let!(:person) do
|
|
2952
|
-
Person.create
|
|
3201
|
+
Person.create!
|
|
2953
3202
|
end
|
|
2954
3203
|
|
|
2955
3204
|
let!(:address) do
|
|
2956
|
-
person.addresses.create(street: "Joachimstr")
|
|
3205
|
+
person.addresses.create!(street: "Joachimstr")
|
|
2957
3206
|
end
|
|
2958
3207
|
|
|
2959
3208
|
let!(:location) do
|
|
2960
|
-
address.locations.create(name: "vacation", number: 0)
|
|
2961
|
-
address.locations.create(name: "work", number: 3)
|
|
3209
|
+
address.locations.create!(name: "vacation", number: 0)
|
|
3210
|
+
address.locations.create!(name: "work", number: 3)
|
|
2962
3211
|
end
|
|
2963
3212
|
|
|
2964
3213
|
context "when updating with replacement of embedded array" do
|
|
@@ -2966,7 +3215,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2966
3215
|
context "when updating with a hash" do
|
|
2967
3216
|
|
|
2968
3217
|
before do
|
|
2969
|
-
address.update_attributes(locations: [{ name: "home" }])
|
|
3218
|
+
address.update_attributes!(locations: [{ name: "home" }])
|
|
2970
3219
|
end
|
|
2971
3220
|
|
|
2972
3221
|
it "updates the attributes" do
|
|
@@ -2987,7 +3236,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2987
3236
|
|
|
2988
3237
|
before do
|
|
2989
3238
|
location.number = 7
|
|
2990
|
-
location.save
|
|
3239
|
+
location.save!
|
|
2991
3240
|
end
|
|
2992
3241
|
|
|
2993
3242
|
let(:updated_location_number) do
|
|
@@ -3120,7 +3369,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3120
3369
|
context "when creating a persisted tree" do
|
|
3121
3370
|
|
|
3122
3371
|
let(:quiz) do
|
|
3123
|
-
Quiz.create
|
|
3372
|
+
Quiz.create!
|
|
3124
3373
|
end
|
|
3125
3374
|
|
|
3126
3375
|
let(:page) do
|
|
@@ -3185,7 +3434,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3185
3434
|
context "when saving the root" do
|
|
3186
3435
|
|
|
3187
3436
|
before do
|
|
3188
|
-
person.save
|
|
3437
|
+
person.save!
|
|
3189
3438
|
end
|
|
3190
3439
|
|
|
3191
3440
|
it "persists the first level document" do
|
|
@@ -3339,11 +3588,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3339
3588
|
context "when accessing the parent in a destroy callback" do
|
|
3340
3589
|
|
|
3341
3590
|
let!(:league) do
|
|
3342
|
-
League.create
|
|
3591
|
+
League.create!
|
|
3343
3592
|
end
|
|
3344
3593
|
|
|
3345
3594
|
let!(:division) do
|
|
3346
|
-
league.divisions.create
|
|
3595
|
+
league.divisions.create!
|
|
3347
3596
|
end
|
|
3348
3597
|
|
|
3349
3598
|
before do
|
|
@@ -3358,15 +3607,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3358
3607
|
context "when updating the parent with all attributes" do
|
|
3359
3608
|
|
|
3360
3609
|
let!(:person) do
|
|
3361
|
-
Person.create
|
|
3610
|
+
Person.create!
|
|
3362
3611
|
end
|
|
3363
3612
|
|
|
3364
3613
|
let!(:address) do
|
|
3365
|
-
person.addresses.create
|
|
3614
|
+
person.addresses.create!
|
|
3366
3615
|
end
|
|
3367
3616
|
|
|
3368
3617
|
before do
|
|
3369
|
-
person.update_attributes(person.attributes)
|
|
3618
|
+
person.update_attributes!(person.attributes)
|
|
3370
3619
|
end
|
|
3371
3620
|
|
|
3372
3621
|
it "does not duplicate the embedded documents" do
|
|
@@ -3381,13 +3630,13 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3381
3630
|
context "when embedding children named versions" do
|
|
3382
3631
|
|
|
3383
3632
|
let(:acolyte) do
|
|
3384
|
-
Acolyte.create(name: "test")
|
|
3633
|
+
Acolyte.create!(name: "test")
|
|
3385
3634
|
end
|
|
3386
3635
|
|
|
3387
3636
|
context "when creating a child" do
|
|
3388
3637
|
|
|
3389
3638
|
let(:version) do
|
|
3390
|
-
acolyte.versions.create(number: 1)
|
|
3639
|
+
acolyte.versions.create!(number: 1)
|
|
3391
3640
|
end
|
|
3392
3641
|
|
|
3393
3642
|
it "allows the operation" do
|
|
@@ -3412,7 +3661,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3412
3661
|
let!(:account) do
|
|
3413
3662
|
Account.new(name: "Testing").tap do |acct|
|
|
3414
3663
|
acct.memberships.build
|
|
3415
|
-
acct.save
|
|
3664
|
+
acct.save!
|
|
3416
3665
|
end
|
|
3417
3666
|
end
|
|
3418
3667
|
|
|
@@ -3424,10 +3673,10 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3424
3673
|
|
|
3425
3674
|
before do
|
|
3426
3675
|
account.name = ""
|
|
3427
|
-
account.save
|
|
3428
3676
|
end
|
|
3429
3677
|
|
|
3430
3678
|
it "does not lose the parent reference" do
|
|
3679
|
+
expect(account.save).to eq false
|
|
3431
3680
|
expect(from_db.memberships.first.account).to eq(account)
|
|
3432
3681
|
end
|
|
3433
3682
|
end
|
|
@@ -3447,15 +3696,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3447
3696
|
context "when moving an embedded document from one parent to another" do
|
|
3448
3697
|
|
|
3449
3698
|
let!(:person_one) do
|
|
3450
|
-
Person.create
|
|
3699
|
+
Person.create!
|
|
3451
3700
|
end
|
|
3452
3701
|
|
|
3453
3702
|
let!(:person_two) do
|
|
3454
|
-
Person.create
|
|
3703
|
+
Person.create!
|
|
3455
3704
|
end
|
|
3456
3705
|
|
|
3457
3706
|
let!(:address) do
|
|
3458
|
-
person_one.addresses.create(street: "Kudamm")
|
|
3707
|
+
person_one.addresses.create!(street: "Kudamm")
|
|
3459
3708
|
end
|
|
3460
3709
|
|
|
3461
3710
|
before do
|
|
@@ -3490,7 +3739,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3490
3739
|
context "when the relation has a default scope" do
|
|
3491
3740
|
|
|
3492
3741
|
let!(:person) do
|
|
3493
|
-
Person.create
|
|
3742
|
+
Person.create!
|
|
3494
3743
|
end
|
|
3495
3744
|
|
|
3496
3745
|
context "when the default scope is a sort" do
|
|
@@ -3560,7 +3809,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3560
3809
|
context "when indexing the documents" do
|
|
3561
3810
|
|
|
3562
3811
|
let!(:person) do
|
|
3563
|
-
Person.create
|
|
3812
|
+
Person.create!
|
|
3564
3813
|
end
|
|
3565
3814
|
|
|
3566
3815
|
context "when the documents have a limiting default scope" do
|
|
@@ -3609,18 +3858,18 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3609
3858
|
context "when the embedded document has an array field" do
|
|
3610
3859
|
|
|
3611
3860
|
let!(:person) do
|
|
3612
|
-
Person.create
|
|
3861
|
+
Person.create!
|
|
3613
3862
|
end
|
|
3614
3863
|
|
|
3615
3864
|
let!(:video) do
|
|
3616
|
-
person.videos.create
|
|
3865
|
+
person.videos.create!
|
|
3617
3866
|
end
|
|
3618
3867
|
|
|
3619
3868
|
context "when saving the array on a persisted document" do
|
|
3620
3869
|
|
|
3621
3870
|
before do
|
|
3622
3871
|
video.genres = [ "horror", "scifi" ]
|
|
3623
|
-
video.save
|
|
3872
|
+
video.save!
|
|
3624
3873
|
end
|
|
3625
3874
|
|
|
3626
3875
|
it "sets the value" do
|
|
@@ -3645,7 +3894,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3645
3894
|
|
|
3646
3895
|
before do
|
|
3647
3896
|
loaded_video.genres = [ "comedy" ]
|
|
3648
|
-
loaded_video.save
|
|
3897
|
+
loaded_video.save!
|
|
3649
3898
|
end
|
|
3650
3899
|
|
|
3651
3900
|
it "sets the new value" do
|
|
@@ -3663,15 +3912,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3663
3912
|
context "when destroying an embedded document" do
|
|
3664
3913
|
|
|
3665
3914
|
let(:person) do
|
|
3666
|
-
Person.create
|
|
3915
|
+
Person.create!
|
|
3667
3916
|
end
|
|
3668
3917
|
|
|
3669
3918
|
let!(:address_one) do
|
|
3670
|
-
person.addresses.create(street: "hobrecht")
|
|
3919
|
+
person.addresses.create!(street: "hobrecht")
|
|
3671
3920
|
end
|
|
3672
3921
|
|
|
3673
3922
|
let!(:address_two) do
|
|
3674
|
-
person.addresses.create(street: "maybachufer")
|
|
3923
|
+
person.addresses.create!(street: "maybachufer")
|
|
3675
3924
|
end
|
|
3676
3925
|
|
|
3677
3926
|
before do
|
|
@@ -3743,7 +3992,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3743
3992
|
context "when the association has an order defined" do
|
|
3744
3993
|
|
|
3745
3994
|
let(:person) do
|
|
3746
|
-
Person.create
|
|
3995
|
+
Person.create!
|
|
3747
3996
|
end
|
|
3748
3997
|
|
|
3749
3998
|
let(:message_one) do
|
|
@@ -3774,11 +4023,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3774
4023
|
|
|
3775
4024
|
before do
|
|
3776
4025
|
person.aliases = [ { name: "A", priority: 3 }, { name: "B", priority: 4 }]
|
|
3777
|
-
person.save
|
|
4026
|
+
person.save!
|
|
3778
4027
|
end
|
|
3779
4028
|
|
|
3780
4029
|
let!(:person2) do
|
|
3781
|
-
Person.create( aliases: [ { name: "C", priority: 1 }, { name: "D", priority: 2 }])
|
|
4030
|
+
Person.create!( aliases: [ { name: "C", priority: 1 }, { name: "D", priority: 2 }])
|
|
3782
4031
|
end
|
|
3783
4032
|
|
|
3784
4033
|
it "allows ordering on a key of an embedded document" do
|
|
@@ -3813,7 +4062,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3813
4062
|
context "when updating multiple levels in one update" do
|
|
3814
4063
|
|
|
3815
4064
|
let!(:person) do
|
|
3816
|
-
Person.create(
|
|
4065
|
+
Person.create!(
|
|
3817
4066
|
addresses: [
|
|
3818
4067
|
{ locations: [{ name: "home" }]}
|
|
3819
4068
|
]
|
|
@@ -3827,7 +4076,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3827
4076
|
end
|
|
3828
4077
|
|
|
3829
4078
|
before do
|
|
3830
|
-
from_db.update_attributes(
|
|
4079
|
+
from_db.update_attributes!(
|
|
3831
4080
|
addresses: [
|
|
3832
4081
|
{ locations: [{ name: "work" }]}
|
|
3833
4082
|
]
|
|
@@ -3847,15 +4096,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3847
4096
|
context "when the embedded relation sorts on a boolean" do
|
|
3848
4097
|
|
|
3849
4098
|
let(:circuit) do
|
|
3850
|
-
Circuit.create
|
|
4099
|
+
Circuit.create!
|
|
3851
4100
|
end
|
|
3852
4101
|
|
|
3853
4102
|
let!(:bus_one) do
|
|
3854
|
-
circuit.buses.create(saturday: true)
|
|
4103
|
+
circuit.buses.create!(saturday: true)
|
|
3855
4104
|
end
|
|
3856
4105
|
|
|
3857
4106
|
let!(:bus_two) do
|
|
3858
|
-
circuit.buses.create(saturday: false)
|
|
4107
|
+
circuit.buses.create!(saturday: false)
|
|
3859
4108
|
end
|
|
3860
4109
|
|
|
3861
4110
|
it "orders properly with the boolean" do
|
|
@@ -3866,7 +4115,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3866
4115
|
context "when batch replacing multiple relations in a single update" do
|
|
3867
4116
|
|
|
3868
4117
|
let(:document) do
|
|
3869
|
-
Person.create
|
|
4118
|
+
Person.create!
|
|
3870
4119
|
end
|
|
3871
4120
|
|
|
3872
4121
|
let(:person) do
|
|
@@ -3874,23 +4123,23 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3874
4123
|
end
|
|
3875
4124
|
|
|
3876
4125
|
let!(:symptom_one) do
|
|
3877
|
-
person.symptoms.create
|
|
4126
|
+
person.symptoms.create!
|
|
3878
4127
|
end
|
|
3879
4128
|
|
|
3880
4129
|
let!(:symptom_two) do
|
|
3881
|
-
person.symptoms.create
|
|
4130
|
+
person.symptoms.create!
|
|
3882
4131
|
end
|
|
3883
4132
|
|
|
3884
4133
|
let!(:appointment_one) do
|
|
3885
|
-
person.appointments.create
|
|
4134
|
+
person.appointments.create!
|
|
3886
4135
|
end
|
|
3887
4136
|
|
|
3888
4137
|
let!(:appointment_two) do
|
|
3889
|
-
person.appointments.create
|
|
4138
|
+
person.appointments.create!
|
|
3890
4139
|
end
|
|
3891
4140
|
|
|
3892
4141
|
before do
|
|
3893
|
-
person.update_attributes(
|
|
4142
|
+
person.update_attributes!(
|
|
3894
4143
|
appointments: [ appointment_one.as_document, appointment_two.as_document ],
|
|
3895
4144
|
symptoms: [ symptom_one.as_document, symptom_two.as_document ]
|
|
3896
4145
|
)
|
|
@@ -4223,7 +4472,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
4223
4472
|
context "when the parent has an after create callback" do
|
|
4224
4473
|
|
|
4225
4474
|
before do
|
|
4226
|
-
server.save
|
|
4475
|
+
server.save!
|
|
4227
4476
|
end
|
|
4228
4477
|
|
|
4229
4478
|
it "does not push the embedded documents twice" do
|
|
@@ -4235,7 +4484,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
4235
4484
|
context "when embedded documents are stored without ids" do
|
|
4236
4485
|
|
|
4237
4486
|
let!(:band) do
|
|
4238
|
-
Band.create(name: "Moderat")
|
|
4487
|
+
Band.create!(name: "Moderat")
|
|
4239
4488
|
end
|
|
4240
4489
|
|
|
4241
4490
|
before do
|
|
@@ -4285,7 +4534,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
4285
4534
|
company = Company.new
|
|
4286
4535
|
4.times { |i| company.staffs << Staff.new(age: 50 + i)}
|
|
4287
4536
|
2.times { |i| company.staffs << Staff.new(age: 40)}
|
|
4288
|
-
company.save
|
|
4537
|
+
company.save!
|
|
4289
4538
|
company.staffs.delete_if {|x| x.age >= 50}
|
|
4290
4539
|
expect(company.staffs.count).to eq(2)
|
|
4291
4540
|
end
|
|
@@ -4362,7 +4611,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
4362
4611
|
context "when the parent is persisted" do
|
|
4363
4612
|
|
|
4364
4613
|
let(:zone) do
|
|
4365
|
-
DNS::Zone.create
|
|
4614
|
+
DNS::Zone.create!
|
|
4366
4615
|
end
|
|
4367
4616
|
|
|
4368
4617
|
let(:soa_1) do
|