oliverdavies.uk/content/node.1579b5cf-889e-4a7b-98a7-59918359def9.json

91 lines
No EOL
4.3 KiB
JSON

{
"uuid": [
{
"value": "1579b5cf-889e-4a7b-98a7-59918359def9"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "daily_email",
"target_type": "node_type",
"target_uuid": "8bde1f2f-eef9-4f2d-ae9c-96921f8193d7"
}
],
"revision_timestamp": [
{
"value": "2025-05-13T22:58:55+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Writing tests for Tome"
}
],
"created": [
{
"value": "2025-05-12T22:48:21+00:00"
}
],
"changed": [
{
"value": "2025-05-13T22:58:55+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "\/daily\/2025\/05\/12\/writing-tests-tome",
"langcode": "en"
}
],
"body": [
{
"value": "<p>I have recently <a href=\"\/daily\/2025\/05\/11\/email-archive-tome\">migrated my daily email archive<\/a> to Drupal and Tome.<\/p><p>The result is the same - a static website that I can upload onto my server, but it's created with Drupal 11 locally and exported to a static website.<\/p><p>Similar to being able to <a href=\"\/daily\/2025\/05\/02\/extend\">extend Sculpin with PHP<\/a>, I get the same benefit with Tome.<\/p><p>I can write the same PHP code and custom Drupal modules as I would with a non-Tome Drupal website.<\/p><p>To count the number of sent daily emails, I created a <code>opd_daily_emails<\/code> module with a token that generates the number of emails, and displays it on the page.<\/p><p>I can also write the same automated tests.<\/p><p>I have a functional test that confirms the token result is generated and rendered correctly using <code>TokenTestTrait<\/code> - supported by some kernel tests and a custom <code>DailyEmailTestTrait<\/code> that makes it easier to create daily email nodes within the tests.<\/p><p>I have all the power and flexibility of Drupal locally and the benefits of a static site when it's deployed.<\/p><p>P.S. If you want to learn how to write automated tests in Drupal, subscribe to <a href=\"\/atdc\">my free 10-day email course<\/a>.<\/p>",
"format": "basic_html",
"processed": "<p>I have recently <a href=\"http:\/\/default\/daily\/2025\/05\/11\/email-archive-tome\">migrated my daily email archive<\/a> to Drupal and Tome.<\/p><p>The result is the same - a static website that I can upload onto my server, but it's created with Drupal 11 locally and exported to a static website.<\/p><p>Similar to being able to <a href=\"http:\/\/default\/daily\/2025\/05\/02\/extend\">extend Sculpin with PHP<\/a>, I get the same benefit with Tome.<\/p><p>I can write the same PHP code and custom Drupal modules as I would with a non-Tome Drupal website.<\/p><p>To count the number of sent daily emails, I created a <code>opd_daily_emails<\/code> module with a token that generates the number of emails, and displays it on the page.<\/p><p>I can also write the same automated tests.<\/p><p>I have a functional test that confirms the token result is generated and rendered correctly using <code>TokenTestTrait<\/code> - supported by some kernel tests and a custom <code>DailyEmailTestTrait<\/code> that makes it easier to create daily email nodes within the tests.<\/p><p>I have all the power and flexibility of Drupal locally and the benefits of a static site when it's deployed.<\/p><p>P.S. If you want to learn how to write automated tests in Drupal, subscribe to <a href=\"http:\/\/default\/atdc\">my free 10-day email course<\/a>.<\/p>",
"summary": ""
}
]
}