Commit graph

44 commits

Author SHA1 Message Date
Oliver Davies 0a1da40788 Fix the existing test 2020-11-14 12:52:36 +00:00
Oliver Davies 0c6fa6e60f Throw an Exception if it is the wrong type 2020-11-14 12:52:22 +00:00
Oliver Davies 4be8e02246 Only articles should be used for Posts
An Exception should be thrown if the node passed to the `Post` entity is
not an article.

> Drupal\Tests\my_module\Unit\Entity\PostTest::it_throws_an_exception_if_the_node_is_not_an_article
> Failed asserting that exception of type "InvalidArgumentException" is
thrown.
2020-11-14 12:44:42 +00:00
Oliver Davies 655c854a80 5e: Fix the kernel tests 2020-11-14 12:38:17 +00:00
Oliver Davies 8f8218260b 5d: Ensure the label will return the title 2020-11-14 10:09:38 +00:00
Oliver Davies bd68420fc1 5d: Create a mock node
> TypeError: Return value of Drupal\my_module\Entity\Post::getTitle()
> must be of the type string, null returned
2020-11-14 10:09:38 +00:00
Oliver Davies 0b4c648ac6 5c: Return the node label 2020-11-14 10:09:38 +00:00
Oliver Davies 61664cb263 5c: Add the node as a constructor argument
> Undefined variable: node
2020-11-14 10:09:38 +00:00
Oliver Davies 1fe7119b5d 5b: Add getTitle() method
> Failed asserting that two strings are identical
2020-11-14 10:09:38 +00:00
Oliver Davies 07ad4dc2b1 5b: Check that it returns the post title
> Drupal\Tests\my_module\Unit\Entity\PostTest::it_returns_the_title
> Error: Call to undefined method Drupal\my_module\Entity\Post::getTitle()
2020-11-14 10:09:38 +00:00
Oliver Davies cbd0176c37 5a: Add a unit test for the Post class 2020-11-14 10:09:38 +00:00
Oliver Davies 259f077f61 4m: Return a Post rather than a node 2020-11-14 10:09:38 +00:00
Oliver Davies 9aec327945 4l: Expect a custom Post class to be returned 2020-11-14 10:09:38 +00:00
Oliver Davies 290c8fbcba 4k: Sort articles before returning 2020-11-14 10:09:38 +00:00
Oliver Davies 91f7d094e7 4k: Articles are returned in the correct order 2020-11-14 10:09:38 +00:00
Oliver Davies e925409f5f 4j: Add status condition to getAll() 2020-11-14 10:09:38 +00:00
Oliver Davies a540f4ad32 4j: Only published articles are returned 2020-11-14 10:09:38 +00:00
Oliver Davies 2cae42ba3a 4i: Add type condition in getAll() method 2020-11-14 10:09:38 +00:00
Oliver Davies 910af32309 4i: Add page nodes too 2020-11-14 10:09:38 +00:00
Oliver Davies 1be8440519 4h: Ensure that only articles are returned 2020-11-14 10:09:38 +00:00
Oliver Davies 40228b36f4 4g: Add more assertions 2020-11-14 10:09:38 +00:00
Oliver Davies 3723a0af0e 4g: Install node_access table 2020-11-14 10:09:38 +00:00
Oliver Davies b53cfec4dd 4g: Install config for the filter module 2020-11-14 10:09:38 +00:00
Oliver Davies 48c2724736 4g: Add an article 2020-11-14 10:09:38 +00:00
Oliver Davies 9b7d9b3feb 4f: Enable the node module 2020-11-14 10:09:38 +00:00
Oliver Davies 80a1f88b2c 4f: Enable autowiring for ArticleRepository 2020-11-14 10:09:38 +00:00
Oliver Davies 4dbb334a6f 4f: Use node storage within getAll() 2020-11-14 10:09:38 +00:00
Oliver Davies f38f21fdc8 4e: Add getAll() method 2020-11-14 10:09:38 +00:00
Oliver Davies f194015f30 4d: Add import and enable the module 2020-11-14 10:09:38 +00:00
Oliver Davies a6a2ad22e4 4d: Add ArticleRepository as a service 2020-11-14 10:09:38 +00:00
Oliver Davies 699122e83a 4d: Create the ArticleRepository 2020-11-14 10:09:38 +00:00
Oliver Davies 3e46173860 4c: Try to load the ArticleRepository 2020-11-14 10:09:38 +00:00
Oliver Davies 48ab1c9209 4b: Test it returns blog posts 2020-11-14 10:09:38 +00:00
Oliver Davies 9484d924a1 3e: Add page text
Replace the empty render array with one that returns the expected text.
2020-11-14 10:09:38 +00:00
Oliver Davies ef1e960f91 3e: Add more assertions
Add more assertions to ensure that the correct page title is returned as
well as some text on the page.

This fails as the expected test is not returned.
2020-11-14 10:09:38 +00:00
Oliver Davies 4583075a3e 3d: Add BlogPageController
Add the BlogPageController that is referenced within
`my_module.routing.yml`.

We will need to return a render array, but for now let’s return an empty
array.

The test now passes as we are getting the expected response code.
2020-11-14 10:09:38 +00:00
Oliver Davies 782648fef2 3c: Enable the node module
Enable the node module within the test to add the `access content`
permission.

This fails, and returns a 500 response code rather than the expected 200
response code.
2020-11-14 10:09:38 +00:00
Oliver Davies c7ef94c0d5 3b: Add blog page route
Add a `my_module.routing.yml` file that adds the missing route for
`/blog`.

This fails, and returns a 403 response code rather than the expected 200
response code.
2020-11-14 10:09:38 +00:00
Oliver Davies 151803382e 3a: Add blog page functional test
Add the new `BlogPageTest` functional test to ensure that anonymous
users can access the `/blog` page.

This fails, and returns a 404 response code rather than the expected 200
response code.
2020-11-14 10:09:38 +00:00
Oliver Davies 9df597c965 2b: Admin page access for admin users
Ensure that users with the `access administration pages` permission can
access the site’s administration pages.
2020-11-14 10:09:38 +00:00
Oliver Davies 7e0a0c3762 2a: Admin page access for anonymous users
Ensure that anonymous users cannot access the site’s administration
pages.
2020-11-14 10:09:38 +00:00
Oliver Davies fd921d3e4c 1d: Add first functional test
Ensure that anonymous users can view the site’s front page.
2020-11-14 10:09:38 +00:00
Oliver Davies 2dafec2f67 1b: Add my_module.info.yml
Add the my_module.info.yml file so that the module can be enabled.
2020-11-14 10:09:38 +00:00
Oliver Davies e859418cbd Initial commit 2020-11-14 10:09:37 +00:00