From a57a7ded4b147d9a97b0c4e70dc4dd957af7f971 Mon Sep 17 00:00:00 2001 From: Sarah Norris <1645628+mikachan@users.noreply.github.com> Date: Thu, 28 Mar 2024 14:41:47 +0000 Subject: [PATCH] Font Library: Add upload font test (#60221) * Add upload font test * Use Exo 2 woff as test font * Test uploading multiple fonts * Update test/e2e/specs/site-editor/font-library.spec.js Co-authored-by: Dave Smith * Update test/e2e/specs/site-editor/font-library.spec.js Co-authored-by: Dave Smith * Add test for CSS rules * Rename multiple fonts test case * Add e2e plugin to delete fonts and the fonts directory * Use delete fonts plugin in e2e tests and check for all uploaded font variations * Fix coding standards * Remove timeouts * Remove step to go back to the Library tab * Remove isVisible check, covered with click action * Remove visible check for another element that is clicked * Modify e2e fonts plugin to use a random directory and cleanup on plugin activation and deactivation * Fix lint * Move font management tests into separate describe block --------- Co-authored-by: Dave Smith Co-authored-by: Grant Kinney Co-authored-by: peterwilsoncc --- .../plugins/delete-installed-fonts.php | 68 ++++++++++ test/e2e/assets/Exo2-Regular.woff | Bin 0 -> 57224 bytes test/e2e/assets/Exo2-SemiBoldItalic.woff2 | Bin 0 -> 45324 bytes .../specs/site-editor/font-library.spec.js | 121 +++++++++++++++--- 4 files changed, 174 insertions(+), 15 deletions(-) create mode 100644 packages/e2e-tests/plugins/delete-installed-fonts.php create mode 100644 test/e2e/assets/Exo2-Regular.woff create mode 100644 test/e2e/assets/Exo2-SemiBoldItalic.woff2 diff --git a/packages/e2e-tests/plugins/delete-installed-fonts.php b/packages/e2e-tests/plugins/delete-installed-fonts.php new file mode 100644 index 00000000000000..5e547f76c338a8 --- /dev/null +++ b/packages/e2e-tests/plugins/delete-installed-fonts.php @@ -0,0 +1,68 @@ + 'wp_font_family', + 'posts_per_page' => -1, + 'fields' => 'ids', + ) + ); + + // Delete all font families, their child font faces, and associated font files. + foreach ( $font_family_ids->posts as $font_family_id ) { + wp_delete_post( $font_family_id, true ); + } + + // Delete the font directory, which should now be empty. + $font_path = wp_get_font_dir()['path']; + + if ( is_dir( $font_path ) ) { + rmdir( $font_path ); + } + + // Delete any installed fonts from global styles. + $global_styles_post_id = WP_Theme_JSON_Resolver::get_user_global_styles_post_id(); + $request = new WP_REST_Request( 'POST', '/wp/v2/global-styles/' . $global_styles_post_id ); + $request->set_body_params( array( 'settings' => array( 'typography' => array( 'fontFamilies' => array() ) ) ) ); + + rest_do_request( $request ); +} + +// Clean up fonts on plugin activation and deactivation. +register_activation_hook( __FILE__, 'gutenberg_delete_installed_fonts' ); +register_deactivation_hook( __FILE__, 'gutenberg_delete_installed_fonts' ); diff --git a/test/e2e/assets/Exo2-Regular.woff b/test/e2e/assets/Exo2-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..15077e740383f60a87b1bba250ca488d2d949e77 GIT binary patch literal 57224 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 literal 0 HcmV?d00001 diff --git a/test/e2e/assets/Exo2-SemiBoldItalic.woff2 b/test/e2e/assets/Exo2-SemiBoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d8f26bc4217549bde26ca300b091828d36d03af7 GIT binary patch literal 45324 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 { } ); test( 'should display the "Manage Fonts" icon', async ( { page } ) => { - await page.getByRole( 'button', { name: /styles/i } ).click(); + await page.getByRole( 'button', { name: 'Styles' } ).click(); await page - .getByRole( 'button', { name: /typography styles/i } ) + .getByRole( 'button', { name: 'Typography Styles' } ) .click(); const manageFontsIcon = page.getByRole( 'button', { - name: /manage fonts/i, + name: 'Manage Fonts', } ); await expect( manageFontsIcon ).toBeVisible(); } ); @@ -37,12 +37,12 @@ test.describe( 'Font Library', () => { } ); test( 'should display the "Manage Fonts" icon', async ( { page } ) => { - await page.getByRole( 'button', { name: /styles/i } ).click(); + await page.getByRole( 'button', { name: 'Styles' } ).click(); await page - .getByRole( 'button', { name: /typography styles/i } ) + .getByRole( 'button', { name: 'Typography Styles' } ) .click(); const manageFontsIcon = page.getByRole( 'button', { - name: /manage fonts/i, + name: 'Manage Fonts', } ); await expect( manageFontsIcon ).toBeVisible(); } ); @@ -50,13 +50,13 @@ test.describe( 'Font Library', () => { test( 'should open the "Manage Fonts" modal when clicking the "Manage Fonts" icon', async ( { page, } ) => { - await page.getByRole( 'button', { name: /styles/i } ).click(); + await page.getByRole( 'button', { name: 'Styles' } ).click(); await page - .getByRole( 'button', { name: /typography styles/i } ) + .getByRole( 'button', { name: 'Typography Styles' } ) .click(); await page .getByRole( 'button', { - name: /manage fonts/i, + name: 'Manage Fonts', } ) .click(); await expect( page.getByRole( 'dialog' ) ).toBeVisible(); @@ -68,21 +68,112 @@ test.describe( 'Font Library', () => { test( 'should show font variant panel when clicking on a font family', async ( { page, } ) => { - await page.getByRole( 'button', { name: /styles/i } ).click(); + await page.getByRole( 'button', { name: 'Styles' } ).click(); + await page + .getByRole( 'button', { name: 'Typography Styles' } ) + .click(); + await page + .getByRole( 'button', { + name: 'Manage Fonts', + } ) + .click(); + await page.getByRole( 'button', { name: 'System Font' } ).click(); + await expect( + page.getByRole( 'heading', { name: 'System Font' } ) + ).toBeVisible(); + await expect( + page.getByRole( 'checkbox', { name: 'System Font Normal' } ) + ).toBeVisible(); + } ); + } ); + + test.describe( 'When a user manages custom fonts via the UI', () => { + test.beforeAll( async ( { requestUtils } ) => { + await requestUtils.activateTheme( 'emptytheme' ); + /* + * Delete all installed fonts, font files, the fonts directory, and user font settings + * in global styles for the active theme before and after starting the tests. + */ + await requestUtils.activatePlugin( + 'gutenberg-test-delete-installed-fonts' + ); + } ); + + test.afterAll( async ( { requestUtils } ) => { + await requestUtils.deactivatePlugin( + 'gutenberg-test-delete-installed-fonts' + ); + } ); + + test.beforeEach( async ( { admin, editor } ) => { + await admin.visitSiteEditor(); + await editor.canvas.locator( 'body' ).click(); + } ); + + test( 'should allow user to add and remove multiple local font files', async ( { + page, + editor, + } ) => { + await page.getByRole( 'button', { name: 'Styles' } ).click(); await page - .getByRole( 'button', { name: /typography styles/i } ) + .getByRole( 'button', { name: 'Typography Styles' } ) .click(); await page .getByRole( 'button', { - name: /manage fonts/i, + name: 'Manage Fonts', } ) .click(); - await page.getByRole( 'button', { name: /system font/i } ).click(); + + // Upload local fonts. + await page.getByRole( 'tab', { name: 'Upload' } ).click(); + const fileChooserPromise = page.waitForEvent( 'filechooser' ); + await page.getByRole( 'button', { name: 'Upload Font' } ).click(); + const fileChooser = await fileChooserPromise; + // Provides coverage for https://github.com/WordPress/gutenberg/issues/59023. + await fileChooser.setFiles( [ + './test/e2e/assets/Exo2-Regular.woff', + './test/e2e/assets/Exo2-SemiBoldItalic.woff2', + ] ); + + // Check fonts were installed. await expect( - page.getByRole( 'heading', { name: /system font/i } ) + page + .getByLabel( 'Upload' ) + .getByText( 'Fonts were installed successfully.' ) ).toBeVisible(); + await page.getByRole( 'tab', { name: 'Library' } ).click(); + // Provides coverage for https://github.com/WordPress/gutenberg/issues/60040. + await page.getByRole( 'button', { name: 'Exo 2' } ).click(); + await expect( page.getByLabel( 'Exo 2 Normal' ) ).toBeVisible(); + await expect( + page.getByLabel( 'Exo 2 Semi-bold Italic' ) + ).toBeVisible(); + + // Check CSS preset was created. + await page.getByRole( 'button', { name: 'Close' } ).click(); + await page + .getByRole( 'button', { name: 'Typography Headings styles' } ) + .click(); + await page.getByLabel( 'Font' ).selectOption( 'Exo 2' ); + await expect( + editor.canvas.locator( '.is-root-container h1' ) + ).toHaveCSS( 'font-family', '"Exo 2"' ); + + // Check fonts can be uninstalled. + await page.getByRole( 'button', { name: 'Back' } ).click(); + await page + .getByRole( 'button', { + name: 'Manage Fonts', + } ) + .click(); + + await page.getByRole( 'button', { name: 'Exo 2' } ).click(); + await page.getByRole( 'button', { name: 'Delete' } ).click(); + await page.getByRole( 'button', { name: 'Delete' } ).click(); await expect( - page.getByRole( 'checkbox', { name: /system font normal/i } ) + page + .getByLabel( 'Library' ) + .getByText( 'Font family uninstalled successfully.' ) ).toBeVisible(); } ); } );