Best JavaScript code snippet using playwright-internal
to-be-disabled.js
Source:to-be-disabled.js
...23 </fieldset>24 <a href="http://github.com" disabled={true} data-testid="a-element">x</a>25 </div>26 `)27 expect(queryByTestId('button-element')).toBeDisabled()28 expect(() =>29 expect(queryByTestId('button-element')).not.toBeDisabled(),30 ).toThrowError()31 expect(queryByTestId('textarea-element')).toBeDisabled()32 expect(queryByTestId('input-element')).toBeDisabled()33 expect(queryByTestId('fieldset-element')).toBeDisabled()34 expect(queryByTestId('fieldset-child-element')).toBeDisabled()35 expect(queryByTestId('div-element')).not.toBeDisabled()36 expect(queryByTestId('div-child-element')).not.toBeDisabled()37 expect(queryByTestId('nested-form-element')).toBeDisabled()38 expect(queryByTestId('deep-select-element')).toBeDisabled()39 expect(queryByTestId('deep-optgroup-element')).toBeDisabled()40 expect(queryByTestId('deep-option-element')).toBeDisabled()41 expect(queryByTestId('a-element')).not.toBeDisabled()42 expect(() => expect(queryByTestId('a-element')).toBeDisabled()).toThrowError()43})44test('.toBeDisabled fieldset>legend', () => {45 const {queryByTestId} = render(`46 <div>47 <fieldset disabled={true}>48 <button data-testid="inherited-element">x</button>49 </fieldset>50 <fieldset disabled={true}>51 <legend>52 <button data-testid="inside-legend-element">x</button>53 </legend>54 </fieldset>55 <fieldset disabled={true}>56 <legend>57 <div>58 <button data-testid="nested-inside-legend-element">x</button>59 </div>60 </legend>61 </fieldset>62 <fieldset disabled={true}>63 <div></div>64 <legend>65 <button data-testid="first-legend-element">x</button>66 </legend>67 <legend>68 <button data-testid="second-legend-element">x</button>69 </legend>70 </fieldset>71 <fieldset disabled={true}>72 <fieldset>73 <legend>74 <button data-testid="outer-fieldset-element">x</button>75 </legend>76 </fieldset>77 </fieldset>78 </div>79 `)80 expect(queryByTestId('inherited-element')).toBeDisabled()81 expect(queryByTestId('inside-legend-element')).not.toBeDisabled()82 expect(queryByTestId('nested-inside-legend-element')).not.toBeDisabled()83 expect(queryByTestId('first-legend-element')).not.toBeDisabled()84 expect(queryByTestId('second-legend-element')).toBeDisabled()85 expect(queryByTestId('outer-fieldset-element')).toBeDisabled()86})87test('.toBeEnabled', () => {88 const {queryByTestId} = render(`89 <div>90 <button disabled={true} data-testid="button-element">x</button>91 <textarea disabled={true} data-testid="textarea-element"></textarea>92 <input type="checkbox" disabled={true} data-testid="input-element" />93 <fieldset disabled={true} data-testid="fieldset-element">94 <button data-testid="fieldset-child-element">x</button>95 </fieldset>96 <div disabled={true} data-testid="div-element">97 <button data-testid="div-child-element">x</button>98 </div>99 <fieldset disabled={true}>...
Register.test.js
Source:Register.test.js
...37 expect(emailInput().value).toStrictEqual("");38 expect(passwordInput().value).toStrictEqual("");39 expect(tncCheck()).not.toBeChecked();40 expect(gdprCheck()).not.toBeChecked();41 expect(registerButton()).toBeDisabled();42 // Form complete43 enterEmail(TEST_USER);44 enterPassword("12345678");45 click(tncCheck());46 click(gdprCheck());47 renderComponent();48 expect(registerButton()).not.toBeDisabled();49 // Email empty50 enterEmail("");51 renderComponent();52 expect(registerButton()).toBeDisabled();53 // Restore54 enterEmail(TEST_USER);55 renderComponent();56 expect(registerButton()).not.toBeDisabled();57 // Password empty58 enterPassword("");59 renderComponent();60 expect(registerButton()).toBeDisabled();61 // Restore62 enterPassword("12345678");63 renderComponent();64 expect(registerButton()).not.toBeDisabled();65 // Password too short66 enterPassword("1234567");67 renderComponent();68 expect(registerButton()).toBeDisabled();69 // Restore70 enterPassword("12345678");71 renderComponent();72 expect(registerButton()).not.toBeDisabled();73 // TnC unchecked74 click(tncCheck());75 renderComponent();76 expect(registerButton()).toBeDisabled();77 // Restore78 click(tncCheck());79 renderComponent();80 expect(registerButton()).not.toBeDisabled();81 // GDPR unchecked82 click(gdprCheck());83 renderComponent();84 expect(registerButton()).toBeDisabled();85 // Restore86 click(gdprCheck());87 renderComponent();88 expect(registerButton()).not.toBeDisabled();89 });90 it("confirm success", () => {91 renderComponent();92 enterEmail(TEST_USER);93 enterPassword("12345678");94 click(tncCheck());95 click(gdprCheck());96 renderComponent();97 click(registerButton());98 expect(register).toHaveBeenCalledTimes(1);99 expect(register).toHaveBeenCalledWith(TEST_USER, "12345678");100 renderComponent();101 expect(registerButton()).toBeDisabled();102 });103 it("back to sign in", () => {104 renderComponent();105 click(signInButton());106 expect(setAuthState).toHaveBeenCalledTimes(1);107 expect(setAuthState).toHaveBeenCalledWith(SIGN_IN);108 });109 it("end loading spinner on auth state update", () => {110 renderComponent();111 enterEmail(TEST_USER);112 enterPassword("12345678");113 click(tncCheck());114 click(gdprCheck());115 renderComponent();116 click(registerButton());117 renderComponent();118 expect(registerButton()).toBeDisabled();119 authStore.dispatch({120 type: SET_AUTH_STATE,121 authState: SIGN_IN,122 user: { username: TEST_USER },123 });124 renderComponent();125 expect(registerButton()).not.toBeDisabled();126 });127 it("end loading spinner on auth error", () => {128 renderComponent();129 enterEmail(TEST_USER);130 enterPassword("12345678");131 click(tncCheck());132 click(gdprCheck());133 renderComponent();134 click(registerButton());135 renderComponent();136 expect(registerButton()).toBeDisabled();137 authStore.dispatch({ type: SET_AUTH_ERROR, message: "test error" });138 renderComponent();139 expect(registerButton()).not.toBeDisabled();140 });141 it("gdpr popup", () => {142 renderComponent();143 expect(gdprPopup()).toBeNull();144 click(gdprPopupButton());145 renderComponent();146 expect(gdprPopup()).not.toBeNull();147 // Click close148 click(gdprPopupCloseButton());149 renderComponent();150 expect(gdprPopup()).toBeNull();151 // Open again152 click(gdprPopupButton());153 renderComponent();...
ForgotPasswordSubmit.test.js
Source:ForgotPasswordSubmit.test.js
...36 renderComponent();37 expect(emailInput().value).toStrictEqual(TEST_USER);38 expect(codeInput().value).toStrictEqual("");39 expect(passwordInput().value).toStrictEqual("");40 expect(submitButton()).toBeDisabled();41 // Form complete42 enterCode("123456");43 enterPassword("12345678");44 renderComponent();45 expect(submitButton()).not.toBeDisabled();46 // Code empty47 enterCode("");48 renderComponent();49 expect(submitButton()).toBeDisabled();50 // Restore51 enterCode("123456");52 renderComponent();53 expect(submitButton()).not.toBeDisabled();54 // Password empty55 enterPassword("");56 renderComponent();57 expect(submitButton()).toBeDisabled();58 // Restore59 enterPassword("12345678");60 renderComponent();61 expect(submitButton()).not.toBeDisabled();62 // Password too short63 enterPassword("1234567");64 renderComponent();65 expect(submitButton()).toBeDisabled();66 // Restore67 enterPassword("12345678");68 renderComponent();69 expect(submitButton()).not.toBeDisabled();70 });71 it("render missing user", () => {72 authStore.dispatch({73 type: SET_AUTH_STATE,74 authState: FORGOT_PASSWORD_SUBMIT,75 user: {},76 });77 renderComponent();78 expect(emailInput().value).toStrictEqual("");79 authStore.dispatch({80 type: SET_AUTH_STATE,81 authState: FORGOT_PASSWORD_SUBMIT,82 user: undefined,83 });84 renderComponent();85 expect(emailInput().value).toStrictEqual("");86 });87 it("confirm success", () => {88 renderComponent();89 enterCode("123456");90 enterPassword("12345678");91 renderComponent();92 click(submitButton());93 expect(forgotPasswordSubmit).toHaveBeenCalledTimes(1);94 expect(forgotPasswordSubmit).toHaveBeenCalledWith(95 TEST_USER,96 "123456",97 "12345678"98 );99 renderComponent();100 expect(submitButton()).toBeDisabled();101 });102 it("back to sign in", () => {103 renderComponent();104 click(signInButton());105 expect(setAuthState).toHaveBeenCalledTimes(1);106 expect(setAuthState).toHaveBeenCalledWith(SIGN_IN);107 });108 it("end loading spinner on auth state update", () => {109 renderComponent();110 enterCode("123456");111 enterPassword("12345678");112 renderComponent();113 click(submitButton());114 renderComponent();115 expect(submitButton()).toBeDisabled();116 authStore.dispatch({117 type: SET_AUTH_STATE,118 authState: SIGN_IN,119 user: { username: TEST_USER },120 });121 renderComponent();122 expect(submitButton()).not.toBeDisabled();123 });124 it("end loading spinner on auth error", () => {125 renderComponent();126 enterCode("123456");127 enterPassword("12345678");128 renderComponent();129 click(submitButton());130 renderComponent();131 expect(submitButton()).toBeDisabled();132 authStore.dispatch({ type: SET_AUTH_ERROR, message: "test error" });133 renderComponent();134 expect(submitButton()).not.toBeDisabled();135 });136 const emailInput = () => container.querySelector("#emailInput");137 const codeInput = () => container.querySelector("#codeInput");138 const passwordInput = () => container.querySelector("#passwordInput");139 const submitButton = () => container.querySelector("#submit-button");140 const signInButton = () => container.querySelector("#signin-button");141 function enterCode(value) {142 act(() => {143 const element = codeInput();144 element.value = value;145 Simulate.input(element);146 });147 }148 function enterPassword(value) {...
RequireNewPassword.test.js
Source:RequireNewPassword.test.js
...34 });35 it("initial render and enable change actionn", () => {36 renderComponent();37 expect(passwordInput().value).toStrictEqual("");38 expect(changeButton()).toBeDisabled();39 // Form complete40 enterPassword("12345678");41 renderComponent();42 expect(changeButton()).not.toBeDisabled();43 // Password empty44 enterPassword("");45 renderComponent();46 expect(changeButton()).toBeDisabled();47 // Restore48 enterPassword("12345678");49 renderComponent();50 expect(changeButton()).not.toBeDisabled();51 // Password too short52 enterPassword("1234567");53 renderComponent();54 expect(changeButton()).toBeDisabled();55 // Restore56 enterPassword("12345678");57 renderComponent();58 expect(changeButton()).not.toBeDisabled();59 });60 it("change success", () => {61 renderComponent();62 enterPassword("new password");63 renderComponent();64 click(changeButton());65 expect(completeNewPassword).toHaveBeenCalledTimes(1);66 expect(completeNewPassword).toHaveBeenCalledWith(67 { username: TEST_USER },68 "new password"69 );70 renderComponent();71 expect(changeButton()).toBeDisabled();72 });73 it("back to sign in", () => {74 renderComponent();75 click(signInButton());76 expect(setAuthState).toHaveBeenCalledTimes(1);77 expect(setAuthState).toHaveBeenCalledWith(SIGN_IN, { username: TEST_USER });78 });79 it("end loading spinner on auth state update", () => {80 renderComponent();81 enterPassword("new password");82 renderComponent();83 click(changeButton());84 renderComponent();85 expect(changeButton()).toBeDisabled();86 authStore.dispatch({87 type: SET_AUTH_STATE,88 authState: SIGN_IN,89 user: { username: TEST_USER },90 });91 renderComponent();92 expect(changeButton()).not.toBeDisabled();93 });94 it("end loading spinner on auth error", () => {95 renderComponent();96 enterPassword("new password");97 renderComponent();98 click(changeButton());99 renderComponent();100 expect(changeButton()).toBeDisabled();101 authStore.dispatch({ type: SET_AUTH_ERROR, message: "test error" });102 renderComponent();103 expect(changeButton()).not.toBeDisabled();104 });105 const passwordInput = () => container.querySelector("#passwordInput");106 const changeButton = () => container.querySelector("#change-button");107 const signInButton = () => container.querySelector("#signin-button");108 function enterPassword(value) {109 act(() => {110 const element = passwordInput();111 element.value = value;112 Simulate.input(element);113 });114 }115 function click(element) {116 act(() => {117 element.dispatchEvent(new MouseEvent("click", { bubbles: true }));...
home.test.js
Source:home.test.js
...30 renderWithRouter(<App />);31 const [inputEmail] = screen.queryAllByPlaceholderText(EMAIL, 'input');32 const [inputPassword] = screen.queryAllByPlaceholderText(PASSWORD_SEARCH, 'input');33 const button = screen.getByRole('button', { name: 'Entrar' });34 expect(button).toBeDisabled();35 fireEvent.change(inputEmail, { target: { value: WRONG_EMAIL }});36 expect(button).toBeDisabled();37 fireEvent.change(inputPassword, { target: { value: PASSWORD }});38 expect(button).toBeDisabled();39 fireEvent.change(inputEmail, { target: { value: WRONG_EMAIL_2 }});40 expect(button).toBeDisabled();41 fireEvent.change(inputEmail, { target: { value: WRONG_EMAIL_3 }});42 expect(button).toBeDisabled();43 fireEvent.change(inputPassword, { target: { value: WRONG_PASSWORD }});44 expect(button).toBeDisabled();45 fireEvent.change(inputEmail, { target: { value: EMAIL }});46 expect(button).toBeDisabled();47 fireEvent.change(inputPassword, { target: { value: PASSWORD }});48 expect(button).not.toBeDisabled();49 });50 it('redirect in login button', () => {51 renderWithRouter(<App />);52 const [inputEmail] = screen.queryAllByPlaceholderText(EMAIL, 'input');53 const [inputPassword] = screen.queryAllByPlaceholderText(PASSWORD_SEARCH, 'input');54 const button = screen.getByRole('button', { name: 'Entrar' });55 expect(button).toBeDisabled();56 fireEvent.change(inputEmail, { target: { value: EMAIL }});57 fireEvent.change(inputPassword, { target: { value: PASSWORD }});58 expect(button).not.toBeDisabled();59 fireEvent.click(button);60 expect(inputEmail).not.toBeInTheDocument();61 expect(inputPassword).not.toBeInTheDocument();62 });...
usePagination.test.jsx
Source:usePagination.test.jsx
...19 // we use `.findBy` here because the total pages20 // will be updated asynchronously21 await screen.findByText('1 / 5');22 // validate the initial state23 expect(firstPageButton).toBeDisabled();24 expect(prevPageButton).toBeDisabled();25 expect(nextPageButton).not.toBeDisabled();26 expect(lastPageButton).not.toBeDisabled();27 // go to the next page and re-validate everything28 fireEvent.click(nextPageButton);29 expect(firstPageButton).not.toBeDisabled();30 expect(prevPageButton).not.toBeDisabled();31 expect(nextPageButton).not.toBeDisabled();32 expect(lastPageButton).not.toBeDisabled();33 await screen.findByText('2 / 5');34 // go to the last page & re-validate35 fireEvent.click(lastPageButton);36 expect(firstPageButton).not.toBeDisabled();37 expect(prevPageButton).not.toBeDisabled();38 expect(nextPageButton).toBeDisabled();39 expect(lastPageButton).toBeDisabled();40 await screen.findByText('5 / 5');41 // go to the first page & re-validate42 fireEvent.click(firstPageButton);43 expect(firstPageButton).toBeDisabled();44 expect(prevPageButton).toBeDisabled();45 expect(nextPageButton).not.toBeDisabled();46 expect(lastPageButton).not.toBeDisabled();47 await screen.findByText('1 / 5');48 });...
requires_input_spec.js
Source:requires_input_spec.js
...7 return fixture.load('behaviors/requires_input.html');8 });9 it('disables submit when any field is required', function() {10 $('.js-requires-input').requiresInput();11 return expect($('.submit')).toBeDisabled();12 });13 it('enables submit when no field is required', function() {14 $('*[required=required]').removeAttr('required');15 $('.js-requires-input').requiresInput();16 return expect($('.submit')).not.toBeDisabled();17 });18 it('enables submit when all required fields are pre-filled', function() {19 $('*[required=required]').remove();20 $('.js-requires-input').requiresInput();21 return expect($('.submit')).not.toBeDisabled();22 });23 it('enables submit when all required fields receive input', function() {24 $('.js-requires-input').requiresInput();25 $('#required1').val('input1').change();26 expect($('.submit')).toBeDisabled();27 $('#optional1').val('input1').change();28 expect($('.submit')).toBeDisabled();29 $('#required2').val('input2').change();30 $('#required3').val('input3').change();31 $('#required4').val('input4').change();32 $('#required5').val('1').change();33 return expect($('.submit')).not.toBeDisabled();34 });35 return it('is called on page:load event', function() {36 var spy;37 spy = spyOn($.fn, 'requiresInput');38 $(document).trigger('page:load');39 return expect(spy).toHaveBeenCalled();40 });41 });...
ToBeDisabled.spec.jsx
Source:ToBeDisabled.spec.jsx
...6 const {getByTestId, getByText} = render(<ToBeDisabled />)7 // toBeDisabled ã§è¦ç´ ãç¡å¹ã«ãªã£ã¦ããããã§ãã¯ã§ããã8 // ãã§ãã¯ã§ããè¦ç´ ã¯ãdisabled å±æ§ã¨ä»ãããã¨ã§ç¡å¹ã«ãªã以ä¸ã®è¦ç´ ã9 // buttonãinputãselectãtextareaãoptgroupãoptionãfieldset10 expect(getByTestId('button')).toBeDisabled()11 expect(getByTestId('input')).toBeDisabled()12 // ToBeDisabled ã³ã³ãã¼ãã³ãã® a ã¿ã°ã« disabled å±æ§ãã¤ãã¦ãããã13 // a ã¿ã°ã« disabled å±æ§ãã¤ãã¦ãç¡å¹ã«ã¯ãªããªãã®ã§ã14 // .not.toBeDisabled() ããã¹ããã15 expect(getByText('link')).not.toBeDisabled()16 })...
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 const button = await page.$('#button1');7 await button.click();
Using AI Code Generation
1const { test, expect } = require('@playwright/test');2test('test', async ({ page }) => {3 const todoInput = page.locator('input.new-todo');4 await todoInput.fill('Hello World');5 await todoInput.press('Enter');6 const todoItem = page.locator('li.todo');7 expect(await todoItem.innerText()).toBe('Hello World');8 const toggleButton = page.locator('input.toggle');9 await toggleButton.click();10 expect(await toggleButton).toBeDisabled();11 await page.screenshot({ path: 'screenshot.png' });12});13const { test, expect } = require('@playwright/test');14test('test', async ({ page }) => {15 const todoInput = page.locator('input.new-todo');16 await todoInput.fill('Hello World');17 await todoInput.press('Enter');18 const todoItem = page.locator('li.todo');19 expect(await todoItem.innerText()).toBe('Hello World');20 const toggleButton = page.locator('input.toggle');21 await toggleButton.click();22 expect(await toggleButton).toBeDisabled();23 await page.screenshot({ path: 'screenshot.png' });24});25const { test, expect } = require('@playwright/test');26test('test', async ({ page }) => {27 const todoInput = page.locator('input.new-todo');28 await todoInput.fill('Hello World');29 await todoInput.press('Enter');30 const todoItem = page.locator('li.todo');31 expect(await todoItem.innerText()).toBe('Hello World');32 const toggleButton = page.locator('input
Using AI Code Generation
1test('should be disabled', async ({ page }) => {2 expect(await page.$('button')).toBeDisabled();3});4test('should be enabled', async ({ page }) => {5 expect(await page.$('button')).toBeEnabled();6});7test('should be focused', async ({ page }) => {8 expect(await page.$('input')).toBeFocused();9});10test('should be hidden', async ({ page }) => {11 expect(await page.$('input')).toBeHidden();12});13test('should be visible', async ({ page }) => {14 expect(await page.$('input')).toBeVisible();15});16test('should be checked', async ({ page }) => {17 expect(await page.$('input')).toBeChecked();18});19test('should be empty', async ({ page }) => {20 expect(await page.$('input')).toBeEmpty();21});22test('should not be empty', async ({ page }) => {23 expect(await page.$('input')).not.toBeEmpty();24});25test('should have text', async ({ page }) => {26 expect(await page.$('input')).toHaveText('Hello World');27});28test('should have attribute',
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!