diff --git a/tests/E2E/EmailTemplatesTest.php b/tests/E2E/EmailTemplatesTest.php
new file mode 100644
index 0000000..cd0e112
--- /dev/null
+++ b/tests/E2E/EmailTemplatesTest.php
@@ -0,0 +1,361 @@
+
+
+
+
+
+ Welcome to Our Service!
+
+
+
+ Thank you for signing up. We are excited to have you on board.
+
+
+ Get Started
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Welcome to Our Service!');
+ expect($html)->toContain('Get Started');
+ expect($html)->toContain('https://example.com/get-started');
+ });
+
+ it('renders a newsletter with images and dividers', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+
+ Monthly Newsletter
+
+
+
+
+
+
+
+ Here are this month highlights
+
+
+
+ Read More
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Company Logo');
+ expect($html)->toContain('Monthly Newsletter');
+ expect($html)->toContain('Read More');
+ });
+
+ it('renders a promotional email with hero image', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+ Summer Sale
+
+
+ Up to 50% Off
+
+
+ Shop Now
+
+
+
+
+
+ Limited time offer
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Summer Sale');
+ expect($html)->toContain('Shop Now');
+ });
+
+ it('renders a transactional email with table data', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+ Order Confirmation
+
+
+ Order #12345
+
+
+ Your order has been confirmed and will ship soon.
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Order Confirmation');
+ expect($html)->toContain('Order #12345');
+ expect($html)->toContain('will ship soon');
+ });
+
+ it('renders a multi-column layout', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+
+ Fast Delivery
+
+
+ Get your order in 2 days
+
+
+
+
+
+ Free Returns
+
+
+ 30-day return policy
+
+
+
+
+
+ 24/7 Support
+
+
+ We are here to help
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Fast Delivery');
+ expect($html)->toContain('Free Returns');
+ expect($html)->toContain('24/7 Support');
+ });
+
+ it('renders email with wrapper for full-width background', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+
+ Full Width Background Section
+
+
+ This section has a full-width colored background
+
+
+
+
+
+
+
+ Regular content continues here
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Full Width Background Section');
+ expect($html)->toContain('Regular content continues here');
+ });
+
+ it('renders email with group for mobile layout control', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+
+ Column 1 - Stays side-by-side
+
+
+
+
+ Column 2 - Stays side-by-side
+
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Column 1');
+ expect($html)->toContain('Column 2');
+ });
+
+ it('renders email with raw HTML content', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+ Above content
+
+
+ Below content
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Above content');
+ expect($html)->toContain('Below content');
+ });
+
+ it('renders a complex email with multiple sections', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+
+
+
+
+
+
+ Welcome Back!
+
+
+ Here is what you missed this week
+
+
+
+
+
+
+
+ Article Title 1
+ Brief description of the article
+ Read More
+
+
+
+ Article Title 2
+ Brief description of the article
+ Read More
+
+
+
+
+
+
+ 2025 Company Name. All rights reserved.
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Welcome Back!');
+ expect($html)->toContain('Article Title 1');
+ expect($html)->toContain('Article Title 2');
+ expect($html)->toContain('2025 Company Name');
+ });
+
+ it('validates basic rendering structure', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+ Test content
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ // Check that content is rendered
+ expect($html)->toContain('Test content');
+ expect($html)->not->toBeEmpty();
+ });
+});
diff --git a/tests/E2E/InteractiveEmailsTest.php b/tests/E2E/InteractiveEmailsTest.php
new file mode 100644
index 0000000..4342650
--- /dev/null
+++ b/tests/E2E/InteractiveEmailsTest.php
@@ -0,0 +1,284 @@
+
+
+
+
+
+ Frequently Asked Questions
+
+
+ What is your return policy?
+
+
+ We offer a 30-day return policy on all items.
+
+
+ How long does shipping take?
+
+
+ Standard shipping takes 3-5 business days.
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Frequently Asked Questions');
+ expect($html)->toContain('What is your return policy?');
+ expect($html)->toContain('30-day return policy');
+ expect($html)->toContain('How long does shipping take?');
+ });
+
+ it('renders email with carousel for product showcase', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+ Featured Products
+
+
+
+
+
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Featured Products');
+ expect($html)->toContain('product1.jpg');
+ expect($html)->toContain('product2.jpg');
+ expect($html)->toContain('product3.jpg');
+ });
+
+ it('renders email with navbar for navigation', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+
+ Home
+
+
+ Products
+
+
+ About
+
+
+ Contact
+
+
+
+
+
+
+
+ Email content goes here
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Home');
+ expect($html)->toContain('Products');
+ expect($html)->toContain('About');
+ expect($html)->toContain('Contact');
+ });
+
+ it('renders comprehensive marketing email with interactive elements', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+
+ Home
+
+
+ Shop
+
+
+ Blog
+
+
+
+
+
+
+
+ New Collection
+
+
+ Explore Now
+
+
+
+
+
+
+ Browse Our Products
+
+
+
+
+
+
+
+
+
+
+
+
+ Common Questions
+
+ Shipping Information
+ Free shipping on orders over $50
+ Returns
+ 30-day return policy
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('New Collection');
+ expect($html)->toContain('Browse Our Products');
+ expect($html)->toContain('Common Questions');
+ });
+
+ it('renders email with styled content sections', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+ Question 1
+
+
+ Answer to question 1 with detailed explanation.
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Question 1');
+ expect($html)->toContain('Answer to question 1');
+ });
+
+ it('renders email with multiple carousels', function () {
+ $mjml = <<<'MJML'
+
+
+
+
+
+ Men Collection
+
+
+
+
+
+
+
+
+
+
+ Women Collection
+
+
+
+
+
+
+
+
+
+MJML;
+
+ $renderer = new MjmlRenderer();
+ $html = $renderer->render($mjml);
+
+ expect($html)->toContain('Men Collection');
+ expect($html)->toContain('Women Collection');
+ expect($html)->toContain('mens1.jpg');
+ expect($html)->toContain('womens1.jpg');
+ });
+});