Skip to content

Commit 8e864b7

Browse files
committed
Fix post factory slug, block spec role, and schema
1 parent 27e9fd1 commit 8e864b7

File tree

4 files changed

+36
-4
lines changed

4 files changed

+36
-4
lines changed

db/migrate/20250710120000_create_better_together_person_blocks.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def change
77
t.references :blocker, null: false, type: :uuid, foreign_key: { to_table: :better_together_people }
88
t.references :blocked, null: false, type: :uuid, foreign_key: { to_table: :better_together_people }
99

10-
t.index %i[blocker_id blocked_id], unique: true
10+
t.index %i[blocker_id blocked_id], unique: true, name: 'unique_person_blocks'
1111
end
1212
end
1313
end

spec/dummy/db/schema.rb

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#
1111
# It's strongly recommended that you check this file into your version control system.
1212

13-
ActiveRecord::Schema[7.1].define(version: 2025_07_03_215419) do
13+
ActiveRecord::Schema[7.1].define(version: 2025_07_10_121000) do
1414
# These are extensions that must be enabled in order to support this database
1515
enable_extension "pgcrypto"
1616
enable_extension "plpgsql"
@@ -848,6 +848,28 @@
848848
t.index ["role_id"], name: "person_platform_membership_by_role"
849849
end
850850

851+
create_table "better_together_person_blocks", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
852+
t.integer "lock_version", default: 0, null: false
853+
t.datetime "created_at", null: false
854+
t.datetime "updated_at", null: false
855+
t.uuid "blocker_id", null: false
856+
t.uuid "blocked_id", null: false
857+
t.index ["blocker_id", "blocked_id"], name: "unique_person_blocks", unique: true
858+
t.index ["blocker_id"], name: "index_better_together_person_blocks_on_blocker_id"
859+
t.index ["blocked_id"], name: "index_better_together_person_blocks_on_blocked_id"
860+
end
861+
862+
create_table "better_together_reports", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
863+
t.integer "lock_version", default: 0, null: false
864+
t.datetime "created_at", null: false
865+
t.datetime "updated_at", null: false
866+
t.uuid "reporter_id", null: false
867+
t.uuid "reportable_id", null: false
868+
t.string "reportable_type", null: false
869+
t.text "reason"
870+
t.index ["reporter_id"], name: "index_better_together_reports_on_reporter_id"
871+
end
872+
851873
create_table "better_together_phone_numbers", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
852874
t.integer "lock_version", default: 0, null: false
853875
t.datetime "created_at", null: false
@@ -1240,6 +1262,9 @@
12401262
add_foreign_key "better_together_person_platform_memberships", "better_together_people", column: "member_id"
12411263
add_foreign_key "better_together_person_platform_memberships", "better_together_platforms", column: "joinable_id"
12421264
add_foreign_key "better_together_person_platform_memberships", "better_together_roles", column: "role_id"
1265+
add_foreign_key "better_together_person_blocks", "better_together_people", column: "blocker_id"
1266+
add_foreign_key "better_together_person_blocks", "better_together_people", column: "blocked_id"
1267+
add_foreign_key "better_together_reports", "better_together_people", column: "reporter_id"
12431268
add_foreign_key "better_together_phone_numbers", "better_together_contact_details", column: "contact_detail_id"
12441269
add_foreign_key "better_together_places", "better_together_communities", column: "community_id"
12451270
add_foreign_key "better_together_places", "better_together_geography_spaces", column: "space_id"

spec/factories/better_together/posts.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
module BetterTogether
44
FactoryBot.define do
5+
sequence(:post_title) { |n| "Sample Post #{n}" }
6+
sequence(:post_identifier) { |n| "sample-post-#{n}" }
7+
58
factory :better_together_post, class: Post, aliases: [:post] do
69
id { SecureRandom.uuid }
7-
title { 'Sample Post' }
10+
title { generate(:post_title) }
11+
identifier { generate(:post_identifier) }
812
content { 'Post content' }
913

1014
transient do
@@ -13,6 +17,7 @@ module BetterTogether
1317

1418
after(:build) do |post, evaluator|
1519
post.authorships.build(author: evaluator.author)
20+
post[:slug] = post.identifier
1621
end
1722
end
1823
end

spec/models/better_together/person_block_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414

1515
it 'does not allow blocking platform managers' do
1616
platform = create(:platform)
17-
role = create(:better_together_role, identifier: 'platform_manager', resource_type: 'BetterTogether::Platform')
17+
role = BetterTogether::Role.find_by(identifier: 'platform_manager', resource_type: 'BetterTogether::Platform') ||
18+
create(:better_together_role, identifier: 'platform_manager', resource_type: 'BetterTogether::Platform',
19+
name: 'Platform Manager')
1820
BetterTogether::PersonPlatformMembership.create!(member: blocked, joinable: platform, role:)
1921

2022
block = described_class.new(blocker:, blocked:)

0 commit comments

Comments
 (0)