withName($segmentName)->create(); $formName = 'My fancy form'; $form = new Form(); $form->withName($formName)->withSegments([$segment])->withDisplayBelowPosts()->create(); $i->wantTo('Set text input styles'); $i->login(); $i->amOnMailPoetPage('Forms'); $i->waitForText($formName); $i->clickItemRowActionByItemName($formName, 'Edit'); $i->waitForElement('[data-automation-id="form_title_input"]'); // Add first name $i->addFromBlockInEditor('First name'); // Apply some styles to first name $i->click('.mailpoet-automation-input-styles-panel'); $i->waitForElement('[data-automation-id="input_styles_settings"]'); $i->click('.mailpoet-automation-inherit-theme-toggle input'); // Display custom settings $i->click('.mailpoet-automation-styles-bold-toggle input'); // Toggle bold on $i->clearFormField('.mailpoet-automation-styles-border-size input[type="number"]'); $i->fillField('.mailpoet-automation-styles-border-size input[type="number"]', 10); // Set border size $i->click('.mailpoet-automation-label-within-input-toggle input'); // Toggle lable to be rendered outside the input // Check element has styles $i->assertAttributeContains('[data-automation-id="editor_first_name_input"]', 'style', 'border-width: 10px;'); $i->assertAttributeContains('[data-automation-id="editor_first_name_label"]', 'style', 'font-weight: bold;'); // Apply to all $i->click('[data-automation-id="styles_apply_to_all"]'); // Check email block has styles too $i->assertAttributeContains('[data-automation-id="editor_first_name_input"]', 'style', 'border-width: 10px;'); // Save form $i->saveFormInEditor(); // Reload page and check data were saved $i->reloadPage(); $i->waitForElement('[data-automation-id="form_title_input"]'); $i->assertAttributeContains('[data-automation-id="editor_first_name_input"]', 'style', 'border-width: 10px;'); $i->assertAttributeContains('[data-automation-id="editor_first_name_label"]', 'style', 'font-weight: bold;'); $i->assertAttributeContains('[data-automation-id="editor_first_name_input"]', 'style', 'border-width: 10px;'); // Check styles are applied on frontend page $postUrl = $i->createPost('Title', 'Content'); $i->amOnUrl($postUrl); $i->assertAttributeContains('[data-automation-id="form_first_name"]', 'style', 'border-width: 10px;'); $i->assertAttributeContains('[data-automation-id="form_first_name_label"]', 'style', 'font-weight: bold;'); $i->assertAttributeContains('[data-automation-id="form_email"]', 'style', 'border-width: 10px;'); } }