GSoC 2024 Project Report: End to End Test Suite for Mautic

Project Overview:

Mautic currently has around 60% code coverage with unit and functional tests, but lacks comprehensive end-to-end testing. As a result, we mostly rely on users manually testing bug fixes and new features. This reliance creates challenges in ensuring the reliability and stability of new changes introduced through pull requests (PRs). Dependence on user testing often results in bugs being discovered post-release, impacting user experience and trust in the platform.

This Google Summer of Code (GSoC) project aimed to address these issues by focusing on four main goals:

  • Develop an End-to-End Test Suite
  • Integrate the test suite with GitHub Actions for automated testing. 
  • Write detailed documentation to support contributors in writing and executing tests effectively.
  • Educate Marketers on Contribution

Pull Requests and Commits:

S.No.

Name

Type

Status

1.

Setup Codeception and add e2e tests for contacts

Code

Merged

2.

Improve e2e test suite

Code

Merged

3.

Add Documentation for End-to-End Test Suite

Docs

Merged

4.

GitHub Action Integration for e2e test suite

CI/CD

In QA

5.

Add e2e test suite command

Code

Merged

Documentation:

https://devdocs.mautic.org/en/5.x/testing/e2e_test_suite.html

Blogs:

S.No.

Name

1.

Week 0

2.

Week 1-2

3.

Week 3-4

4.

Week 5-6

5.

Week 7-8

6.

Week 9-10

7.

Week 11-12

Proposal vs. Actual Work:

During the community bonding period, we discussed that writing E2E tests for multiple bundles might not be feasible within the project’s timeframe. Therefore, we focused on completing the tests for the contacts bundle.

Future Work:

The next steps involve expanding the test suite to cover more bundles and increase code coverage.

Acknowledgement:

I want to thank my mentors—Mohit Aghera, Ruth Cheesley, and John Linhart—for always being available, giving valuable advice, and reviewing my work. Special thanks to Rahul Shinde for his help as well. My mentors have been incredibly supportive throughout the GSoC period. I’m also grateful to Google for this opportunity. The community has been very welcoming. The last three months have been an amazing learning experience, and I’m grateful for everything I’ve learned. I look forward to continuing my contributions to Mautic.

Share this blog article:
Picture of Ruth Cheesley

Ruth Cheesley

Ruth is an Open Source advocate with over 18 years of experience using and contributing to many different projects. Having served on the Community Leadership Team of the Joomla! project and built a full-service digital agency, she now works as Project Lead for Mautic, supporting the community who build and maintain the world’s first Open Source Marketing Automation platform. Ruth is a lover of cats, a keen runner and flautist (but not at the same time!) and is based in the East of England.

More 📝's in

Yellow background with mautic logo top left, Mautic 7.0 columba edition written in text, features bullet pointed: A glimpse at new features: Import and export campaigns Organize your marketing resources with projects Smarter segment-based email sending Multilingual support for SMS and notifications Improved workflows for scheduling emails API v2 based on API Platform, and also an explanation of the constellation shown: Columba is a southern constellation representing a dove in flight. Though less prominent than its northern neighbors, Columba contains the globular cluster NGC 1851, a dense collection of ancient stars visible through telescopes. Named in the 16th century by Dutch astronomer Petrus Plancius, Columba represents the dove from Noah's Ark that returned bearing an olive branch, symbolizing hope and peace after the great flood. In its celestial position south of Orion and Lepus (the Hare), some interpretations suggest the dove fleeing from the hunter. The constellation embodies themes of peace, renewal, and divine guidance across various traditions, serving as a quieter but meaningful counterpart to the more dramatic figures of the night sky.
Product news

Mautic 7: Columba Edition is released

Today we’ve released Mautic 7.0: Columba Edition. It’s here.

This is a full term release with a four-year support cycle – one year active, one year security, two years Extended Long Term Support. Read more about our release strategy.

Search

Use the search bar above by typing terms and pressing enter.