Articles | Mohamed Said      [Skip to content](#main)  [ ![](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png) Mohamed SaidLaravel Backend Engineer ](https://msaied.com) - [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [About](https://msaied.com#about)

           [  Contact](https://msaied.com#contact) Menu 

Menu
----

Close 

 - [HomeStart here](https://msaied.com)
- [ProjectsCase studies](https://msaied.com/projects)
- [ArticlesEngineering notes](https://msaied.com/articles)
- [CertificatesCredentials](https://msaied.com/certificates)
- [AboutHow I work](https://msaied.com#about)
- [ContactGet in touch](https://msaied.com#contact)

  [Start a conversation](https://msaied.com#contact) [WhatsApp](https://wa.me/201094619204) [Email](mailto:hello@msaied.com) 

  1. [Home](https://msaied.com)
2. /
3. Articles

  Engineering library
====================

 26 articles by Mohamed Said on Laravel, PHP, databases, APIs and infrastructure, written from production work.

 Search articles ⌕×Search 

    Topic hubs
----------

←→

- [AI48 articles](https://msaied.com/articles?category=ai&search=pest&sort=new)
- [Composer Pacakge81 articles](https://msaied.com/articles?category=composer-pacakge&search=pest&sort=new)
- [Filament27 articles](https://msaied.com/articles?category=filament&search=pest&sort=new)
- [Laravel267 articles](https://msaied.com/articles?category=laravel&search=pest&sort=new)
- [Livewire13 articles](https://msaied.com/articles?category=livewire&search=pest&sort=new)
- [Open Source44 articles](https://msaied.com/articles?category=open-source&search=pest&sort=new)
- [PHP27 articles](https://msaied.com/articles?category=php&search=pest&sort=new)
- [Tips &amp; Tricks32 articles](https://msaied.com/articles?category=tips-tricks&search=pest&sort=new)

  Topics
------

 [All topics](https://msaied.com/articles?search=pest&sort=new) [AI 48](https://msaied.com/articles?category=ai&search=pest&sort=new) [Composer Pacakge 81](https://msaied.com/articles?category=composer-pacakge&search=pest&sort=new) [Filament 27](https://msaied.com/articles?category=filament&search=pest&sort=new) [Laravel 267](https://msaied.com/articles?category=laravel&search=pest&sort=new) [Livewire 13](https://msaied.com/articles?category=livewire&search=pest&sort=new) [Open Source 44](https://msaied.com/articles?category=open-source&search=pest&sort=new) [PHP 27](https://msaied.com/articles?category=php&search=pest&sort=new) [Tips &amp; Tricks 32](https://msaied.com/articles?category=tips-tricks&search=pest&sort=new)    26 articles
------------

Topics    Sort articles Newest first  Oldest first  Sort  

 [Search: pest ×Remove search](https://msaied.com/articles?sort=new) [ Clear filters](https://msaied.com/articles) 

  [![](https://cdn.msaied.com/799/f5bb5eaa2b223303a224d6094f2b562c.png)](https://msaied.com/articles/modular-monolith-in-laravel-enforcing-bounded-contexts-without-a-microservices-tax-4)20 Oct 2026·3 min read 

### [Modular Monolith in Laravel: Enforcing Bounded Contexts Without a Microservices Tax](https://msaied.com/articles/modular-monolith-in-laravel-enforcing-bounded-contexts-without-a-microservices-tax-4) 

 Learn how to carve a Laravel application into cohesive bounded contexts using modules, internal contracts, and Pest arch tests — without the operational overhead of microservices.

   [![](https://cdn.msaied.com/793/9ec9d2cf138593ecc4292fa9fa49ee7a.png)](https://msaied.com/articles/testing-filament-resources-actions-and-form-assertions-with-pest-5)18 Oct 2026·3 min read 

### [Testing Filament Resources, Actions, and Form Assertions with Pest](https://msaied.com/articles/testing-filament-resources-actions-and-form-assertions-with-pest-5) 

 A practical guide to writing expressive, maintainable Pest tests for Filament v4 resources — covering list tables, create/edit forms, custom actions, and authorization assertions without brittle DOM selectors.

   [![](https://cdn.msaied.com/709/ee356004b06e38b322823a2cf5305cee.png)](https://msaied.com/articles/clean-architecture-testing-with-pest-actions-fakes-and-architectural-assertions-1)27 Sep 2026·3 min read 

### [Clean Architecture Testing with Pest: Actions, Fakes, and Architectural Assertions](https://msaied.com/articles/clean-architecture-testing-with-pest-actions-fakes-and-architectural-assertions-1) 

 Learn how to test Laravel actions, DTOs, and domain services with Pest — using fakes, higher-order tests, and arch() assertions to enforce clean boundaries without ceremony.

   [![](https://cdn.msaied.com/655/efd33245cffa553c1dffba29721e0139.png)](https://msaied.com/articles/testing-filament-resources-actions-and-form-assertions-with-pest-4)11 Sep 2026·4 min read 

### [Testing Filament Resources, Actions, and Form Assertions with Pest](https://msaied.com/articles/testing-filament-resources-actions-and-form-assertions-with-pest-4) 

 A practical guide to writing reliable Pest tests for Filament v3 resources — covering table actions, form submissions, and infolist assertions without reaching for a browser.

   [![](https://cdn.msaied.com/644/a8804395d4fd322b55d91a7dd9e6ffa3.png)](https://msaied.com/articles/find-unexpected-test-inputs-with-fuzz-for-pest)7 Sep 2026·4 min read 

### [Find Unexpected Test Inputs with Fuzz for Pest](https://msaied.com/articles/find-unexpected-test-inputs-with-fuzz-for-pest) 

 Fuzz is a Pest 5 package that brings coverage-guided fuzz testing to Laravel and PHP projects. It generates and mutates string inputs automatically, surfacing crashes and edge cases your hand-written tests would never reach.

 [Composer Pacakge](https://msaied.com/articles?category=composer-pacakge) [PHP](https://msaied.com/articles?category=php) 

   [![](https://cdn.msaied.com/594/c38a3d613735b3f43e77683aeb0cce84.png)](https://msaied.com/articles/multi-tenant-saas-with-laravel-isolating-tenant-data-using-row-level-scoping)26 Aug 2026·3 min read 

### [Multi-Tenant SaaS with Laravel: Isolating Tenant Data Using Row-Level Scoping](https://msaied.com/articles/multi-tenant-saas-with-laravel-isolating-tenant-data-using-row-level-scoping) 

 Row-level multi-tenancy keeps your schema simple but demands discipline. Learn how to enforce tenant isolation with a global scope, middleware, and Pest tests that catch leakage before it ships.

   [![](https://cdn.msaied.com/586/d7ec30575e05c87e236fa8000b60175d.png)](https://msaied.com/articles/pest-architecture-testing-enforcing-domain-boundaries-in-a-laravel-codebase)24 Aug 2026·3 min read 

### [Pest Architecture Testing: Enforcing Domain Boundaries in a Laravel Codebase](https://msaied.com/articles/pest-architecture-testing-enforcing-domain-boundaries-in-a-laravel-codebase) 

 Pest's architecture plugin lets you write executable rules that prevent domain leakage, enforce naming conventions, and keep your Laravel bounded contexts honest — all inside your normal test suite.

   [![](https://cdn.msaied.com/571/e2c97418f4d543aac16e77c5dfd1055a.png)](https://msaied.com/articles/advanced-authorization-in-laravel-gates-policies-and-response-based-access-control-4)20 Aug 2026·3 min read 

### [Advanced Authorization in Laravel: Gates, Policies, and Response-Based Access Control](https://msaied.com/articles/advanced-authorization-in-laravel-gates-policies-and-response-based-access-control-4) 

 Go beyond simple boolean gates. Learn how Laravel's response-based authorization lets you return rich denial reasons, compose policies cleanly, and test access control with Pest without coupling logic to HTTP.

   [![](https://cdn.msaied.com/550/18c282cafc696a5836ca7e2d380d22ef.png)](https://msaied.com/articles/testing-filament-resources-actions-and-form-assertions-with-pest-3)15 Aug 2026·3 min read 

### [Testing Filament Resources, Actions, and Form Assertions with Pest](https://msaied.com/articles/testing-filament-resources-actions-and-form-assertions-with-pest-3) 

 Learn how to write precise, maintainable Pest tests for Filament v3 resources — covering table actions, form submissions, and authorization assertions without brittle selectors.

   ← Newer1. 1
2. [2](https://msaied.com/articles?search=pest&page=2)
3. [3](https://msaied.com/articles?search=pest&page=3)

 1 / 3 [Older →](https://msaied.com/articles?search=pest&page=2)   

  Have a technical challenge?
----------------------------

Tell me what you’re building. I reply within two working days.

 [Discuss your project ↗](https://msaied.com#contact) 

Topics
------

Close 

 [All topics](https://msaied.com/articles) [AI (48) ](https://msaied.com/articles?category=ai&search=pest&sort=new) [Composer Pacakge (81) ](https://msaied.com/articles?category=composer-pacakge&search=pest&sort=new) [Filament (27) ](https://msaied.com/articles?category=filament&search=pest&sort=new) [Laravel (267) ](https://msaied.com/articles?category=laravel&search=pest&sort=new) [Livewire (13) ](https://msaied.com/articles?category=livewire&search=pest&sort=new) [Open Source (44) ](https://msaied.com/articles?category=open-source&search=pest&sort=new) [PHP (27) ](https://msaied.com/articles?category=php&search=pest&sort=new) [Tips &amp; Tricks (32) ](https://msaied.com/articles?category=tips-tricks&search=pest&sort=new)  

  © 2026 Mohamed Said · Built with Laravel, meant to last.Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

 - [Home](https://msaied.com)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [GitHub](https://github.com/EG-Mohamed)
- [LinkedIn](https://www.linkedin.com/in/msaiedm/)
- [WhatsApp](https://wa.me/201094619204)
- [Email Address](mailto:hello@msaied.com)
- [My CV](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
- [Sitemap](https://msaied.com/sitemap.xml)
