Skip to content

Commit

Permalink
Create a minimal Content Block
Browse files Browse the repository at this point in the history
We take the minimal fields needed to imitate a Document.

We are taking the approach of duplication before reuse to help us move quickly and learn where the parts we would like to reuse are.

Co-authored-by: Harriet H-W <[email protected]>
  • Loading branch information
tahb and Harriethw committed Jun 28, 2024
1 parent 6b6551e commit 5baa8f3
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 1 deletion.
11 changes: 11 additions & 0 deletions db/migrate/20240627142613_create_content_block_documents.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class CreateContentBlockDocuments < ActiveRecord::Migration[7.1]
def change
create_table :content_block_documents do |t|
t.string :content_id
t.string :title
t.string :block_type
t.datetime "created_at", precision: nil
t.datetime "updated_at", precision: nil
end
end
end
10 changes: 9 additions & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema[7.1].define(version: 2024_06_18_164903) do
ActiveRecord::Schema[7.1].define(version: 2024_06_27_142613) do
create_table "assets", charset: "utf8mb3", force: :cascade do |t|
t.string "asset_manager_id", null: false
t.string "variant", null: false
Expand Down Expand Up @@ -191,6 +191,14 @@
t.index ["contactable_id", "contactable_type"], name: "index_contacts_on_contactable_id_and_contactable_type"
end

create_table "content_block_documents", charset: "utf8mb3", force: :cascade do |t|
t.string "content_id"
t.string "title"
t.string "block_type"
t.datetime "created_at", precision: nil
t.datetime "updated_at", precision: nil
end

create_table "data_migration_records", id: :integer, charset: "utf8mb3", force: :cascade do |t|
t.string "version"
t.index ["version"], name: "index_data_migration_records_on_version", unique: true
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
class ContentObjectStore::ContentBlockDocument < ApplicationRecord
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FactoryBot.define do
factory :content_block_document, class: "ContentObjectStore::ContentBlockDocument" do
sequence(:content_id) { SecureRandom.uuid }
title { "Title" }
block_type { "Type" }
created_at { Time.zone.now.utc }
updated_at { Time.zone.now.utc }
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
require "test_helper"

class ContentObjectStore::ContentBlockDocumentTest < ActiveSupport::TestCase
test "content_block_document exists with required data" do
content_block_document = create(
:content_block_document,
content_id: "52084b2d-4a52-4e69-ba91-3052b07c7eb6",
title: "Title",
block_type: "Type",
created_at: Time.zone.local(2000, 12, 31, 23, 59, 59).utc,
updated_at: Time.zone.local(2000, 12, 31, 23, 59, 59).utc,
)

assert_equal "52084b2d-4a52-4e69-ba91-3052b07c7eb6", content_block_document.content_id
assert_equal "Title", content_block_document.title
assert_equal "Type", content_block_document.block_type
assert_equal Time.zone.local(2000, 12, 31, 23, 59, 59).utc, content_block_document.created_at
assert_equal Time.zone.local(2000, 12, 31, 23, 59, 59).utc, content_block_document.updated_at
end
end

0 comments on commit 5baa8f3

Please sign in to comment.