Joomla GSoC 18 with Samarth Sharma

Hello everyone!
It's me again and this is my final blog post for my Google Summer Of Code which includes all the work I have covered in my journey with the Joomla Project. I am grateful to all my mentors Puneet, Yves, Sandra and Nhung as I could have never completed this project without their help and support.

This project helped me find my interests, passion and made me a more confident person than what I was before I began my journey of Google Summer Of Code.
Well, this is my last blog so I got a bit carried away by my emotions. So without any further ado, I will dive right into my work.

System testing for Joomla is a project focused on increasing the test coverage of Joomla 4, we are using Codeception and Selenium to achieve the same.
You can find the repository/branch on which we will work at:

Now, the tasks that I have completed so far are as follows:

Community Bonding Period Task ()

  1. Setup Joomla 4 on local and run all the tests that have been covered using both headless browser (Chrome) and Chrome.
  2. Make an excel sheet and mark all the tests that are not covered: https://docs.google.com/spreadsheets/d/1XfkWbiAoQSq_GYaqbeEFX2sJa6VROAU74gDPFU2mJX4
  3. Learn about Git
  4. Setup PHPStorm IDE to follow Joomla Coding Standards
  5. Understand the current test architecture of Joomla 4
  6. Learn about Robo.li task runner.

Evaluation One

  1. Test Menu, Menu Item and check Frontend

    In this task:
    1. Create a menu
    2. Apply toolbar actions on menu (Rebuild, Delete)
    3. Create a menu item
    4. Apply toolbar actions and check on frontend
    5. Those toolbar actions included unpublish/publish/rebuild/home/check-in/trash.
  2. Article with Menu Items and check Frontend

    In this task:
    1. Create an article
    2. Create a menu item for article
    3. Apply toolbar actions on article and check on frontend
    4. Those toolbar actions include publish/unpublish/trash
  3. Categories with Articles and Menu Items, and check Frontend

    In this task:
    1. Create a category
    2. Create 2 articles under that category
    3. Create a menu item for that category
    4. Apply toolbar options on menu item and check on frontend
    5. Those toolbar actions on menu item include publish/unpublish/home/rebuild/trash

In this evaluation period, I have successfully completed tests for Menu (Menu and Menu Items) and Content.

Evaluation Two

  1. Test Joomla extension : Modules
    1. Create Module of any type (All cases included)
    2. Publish and verify on backend
    3. Unpublish and verify on backend
    4. Trash and verify on backend
  2. Test Global Configuration
    1. Site Offline/Online
    2. SEO Settings
  3. Test Usernotes
    1. Create User Notes
    2. Unpublish User Note and verify on backend
    3. Publish User Note and verify on backend
    4. Archive User Note and verify on backend
    5. Trash User Note and verify on backend
  4. Test Access Control Level (User)
    1. Create Category and change its permissions
    2. Create article, change its permissions and put it inside the category
    3. Create Menu item and put category in it
    4. Verify with different User types

Final Evaluation

I wrote a documentation on my project and worked on indentations and made my work more presentable to keep up with coding standards of the Joomla Project.
Please follow the project updates and meeting reports on https://volunteers.joomla.org/teams/gsoc-18-system-testing-for-joomla-4, and if you have any question please feel free to contact our team.

In this project, I have learned the importance of open-source and how we can contribute and be a part of something much bigger than us, a community.

Thank You!