foobara-crud-driver-spec-helpers 1.0.2 → 1.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de7fd3bcf27ca62231e5805ecaa667e3f7e9fb1b5d62ca22f97ec415bf94ef15
4
- data.tar.gz: 287bc059b631cefe601bf2b9a0fb9e90fe8d1b51f3ce37b27ed597fa172c6361
3
+ metadata.gz: a2dca3091bf58d448f814ccaa84a7baf8e8af3b9fd47bf67b0a6130e7f075f7c
4
+ data.tar.gz: 136f095db11a1e357952d465fda40d3663ee2f43cd86cccb6c2841e6dec990d1
5
5
  SHA512:
6
- metadata.gz: d5b3b16fc1b3d8a50265e79f4fcd552f57febf890533834fbaf1191762cef31d19d35ebae0c81a13986a1d7a10a3eedf44b314b8a6d9c368db45a4b3fbe2d423
7
- data.tar.gz: 8e41105e6309481d032a9ae44d7ba1db77d10cde3e94b3e2c7ba9e4c944bcb13f7f20f6feca1cb13ee63c130cf13562b9e9cf2eb8b8cec5613aec17080e2fe88
6
+ metadata.gz: 1140677e50a2b801c7722605963ed8fea89ba5115c8f82f3f37e8241f301729200b394eca30741e0687a1ddb956e4d9c94596cc0a7bce990086cc3fdacbceac7
7
+ data.tar.gz: 00ed0dbbf750606589c6e1bc4f20c34fce203f4b55cbe0e4425502ff8cb5b75b5e272bd9e22cba727905a4fb42cc86be11370e38009514f33f098e788ee9117a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [1.1.2] - 2025-11-09
2
+
3
+ - Test a direct entity -> entity association
4
+
5
+ ## [1.1.1] - 2025-10-21
6
+
7
+ - prefix: has been renamed table_prefix:
8
+
9
+ ## [1.1.0] - 2025-10-21
10
+
11
+ - Add examples for prefix behavior
12
+
1
13
  ## [1.0.2] - 2025-08-16
2
14
 
3
15
  - Add missing base64 dependency
@@ -8,12 +8,50 @@ module RspecHelpers
8
8
  entity_class.current_transaction_table.entity_attributes_crud_driver_table
9
9
  end
10
10
 
11
+ let(:driver) { entity_class.entity_base.entity_attributes_crud_driver }
12
+ let(:driver_class) { driver.class }
13
+
11
14
  describe ".has_real_transactions?" do
12
15
  it "is a boolean" do
13
16
  expect([true, false]).to include(described_class.has_real_transactions?)
14
17
  end
15
18
  end
16
19
 
20
+ describe "#table_for" do
21
+ context "when using a table_prefix" do
22
+ let(:table_prefix) { "some_prefix" }
23
+ let(:prefixed_crud_driver) { driver_class.new(table_prefix:) }
24
+ let(:entity_class) do
25
+ stub_module("SomeOrg") { foobara_organization! }
26
+ stub_module("SomeOrg::SomeDomain") { foobara_domain! }
27
+ stub_class("SomeOrg::SomeDomain::SomeEntity", Foobara::Entity) do
28
+ attributes do
29
+ id :integer
30
+ foo :integer
31
+ bar :symbol
32
+ created_at :datetime, :allow_nil
33
+ end
34
+
35
+ primary_key :id
36
+ end
37
+ end
38
+
39
+ it "includes the table_prefix in the table name" do
40
+ table = prefixed_crud_driver.table_for(entity_class)
41
+ expect(table.table_name).to eq("some_prefix_some_entity")
42
+ end
43
+
44
+ context "when table_prefix is true" do
45
+ let(:table_prefix) { true }
46
+
47
+ it "uses the org and domain as the table_prefix" do
48
+ table = prefixed_crud_driver.table_for(entity_class)
49
+ expect(table.table_name).to eq("some_org_some_domain_some_entity")
50
+ end
51
+ end
52
+ end
53
+ end
54
+
17
55
  context "tests from redis-crud-driver" do
18
56
  let(:entity_class) do
19
57
  stub_class("SomeEntity", Foobara::Entity) do
@@ -449,6 +487,7 @@ module RspecHelpers
449
487
  id :integer
450
488
  foo :integer
451
489
  some_model SomeModel, :required
490
+ some_entity SomeEntity, :required
452
491
  some_entities [SomeEntity]
453
492
  end
454
493
 
@@ -490,6 +529,7 @@ module RspecHelpers
490
529
  entity_class.transaction do
491
530
  some_entity3 = entity_class.create(foo: 11, bar: :baz, id: 102)
492
531
  some_entity4 = entity_class.create(foo: 11, bar: :baz)
532
+ some_entity5 = entity_class.create(foo: 21, bar: :bazbaz)
493
533
  some_other_entity = SomeOtherEntity.create(foo: 11)
494
534
 
495
535
  some_model = SomeModel.new(some_other_entity:)
@@ -497,6 +537,7 @@ module RspecHelpers
497
537
  aggregate_class.create(
498
538
  foo: 30,
499
539
  some_model:,
540
+ some_entity: some_entity5,
500
541
  some_entities: [
501
542
  1,
502
543
  some_entity1,
@@ -522,6 +563,7 @@ module RspecHelpers
522
563
 
523
564
  new_aggregate = aggregate_class.create(
524
565
  foo: "30",
566
+ some_entity: entity_class.create(foo: 31, bar: :bazbazbaz),
525
567
  some_entities: [
526
568
  entity_class.create(foo: 11, bar: :baz)
527
569
  ],
@@ -551,8 +593,6 @@ module RspecHelpers
551
593
  end
552
594
 
553
595
  describe "#all" do
554
- let(:driver) { entity_class.entity_base.entity_attributes_crud_driver }
555
-
556
596
  context "when using string ids" do
557
597
  let(:entity_class) do
558
598
  stub_class("SomeEntityStringId", Foobara::Entity) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foobara-crud-driver-spec-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Georgi
@@ -27,6 +27,9 @@ dependencies:
27
27
  name: foobara
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.2.0
30
33
  - - "<"
31
34
  - !ruby/object:Gem::Version
32
35
  version: 2.0.0
@@ -34,6 +37,9 @@ dependencies:
34
37
  prerelease: false
35
38
  version_requirements: !ruby/object:Gem::Requirement
36
39
  requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.2.0
37
43
  - - "<"
38
44
  - !ruby/object:Gem::Version
39
45
  version: 2.0.0