# Instructions

- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.

# Test info

- Name: mfc-corporate-de.spec.ts >> blog >> category
- Location: visual/mfc-corporate-de.spec.ts:269:9

# Error details

```
Error: expect(page).toHaveScreenshot(expected) failed

  Expected an image 776px by 2274px, received 776px by 2146px. 

  Snapshot: blog-category.png

Call log:
  - Expect "toHaveScreenshot(blog-category.png)" with timeout 15000ms
    - verifying given screenshot expectation
  - taking page screenshot
    - disabled all CSS animations
  - waiting for fonts to load...
  - fonts loaded
  - Expected an image 776px by 2274px, received 776px by 2146px.
  - waiting 100ms before taking screenshot
  - taking page screenshot
    - disabled all CSS animations
  - waiting for fonts to load...
  - fonts loaded
  - captured a stable screenshot
  - Expected an image 776px by 2274px, received 776px by 2146px.

```

# Page snapshot

```yaml
- generic [ref=e2]:
  - link "Zum Inhalt springen" [ref=e3] [cursor=pointer]:
    - /url: "#page-content"
  - banner [ref=e4]:
    - generic [ref=e5]:
      - link "Marketing Factory Digital GmbH" [ref=e6] [cursor=pointer]:
        - /url: /
        - img "Marketing Factory Digital GmbH" [ref=e7]
      - link "Kontaktformular" [ref=e26] [cursor=pointer]:
        - /url: /formulare/kontaktformular/
      - button "Navigation" [expanded] [ref=e27] [cursor=pointer]
  - navigation "Brotkrumen-Navigation" [ref=e29]:
    - generic [ref=e30]:
      - paragraph [ref=e31]: "Sie sind here:"
      - list [ref=e32]:
        - listitem [ref=e33]:
          - link "Startseite" [ref=e34] [cursor=pointer]:
            - /url: /
        - listitem [ref=e37]:
          - text: /
          - link "Blog" [ref=e38] [cursor=pointer]:
            - /url: /blog/
        - listitem [ref=e40]:
          - text: /
          - link "Kategorien" [ref=e41] [cursor=pointer]:
            - /url: /blog/kategorien/
        - listitem [ref=e43]:
          - text: /
          - generic [ref=e44]: Schokolade
  - main [ref=e45]:
    - generic [ref=e48]:
      - generic [ref=e49]:
        - paragraph [ref=e51]: Schokolade
        - link "Zur Übersicht der Kategorien" [ref=e54] [cursor=pointer]:
          - /url: /blog/kategorien/
      - generic [ref=e55]:
        - heading "Beiträge aus der Kategorie \"Schokolade\"" [level=1] [ref=e57]
        - generic [ref=e58]:
          - article [ref=e60]:
            - figure [ref=e62]
            - generic [ref=e63]:
              - paragraph [ref=e64]:
                - link "Übersetztes Featured Image" [ref=e65] [cursor=pointer]:
                  - /url: /blog/uebersetztes-featured-image/
              - paragraph [ref=e66]: Das Featured Image unterscheidet sich in deutschem und englischem Beitrag (Listen- und Detailansicht).
              - text: Beitrag lesen
            - generic [ref=e67]:
              - time [ref=e68]: 24.07.2023
              - generic [ref=e69]: Michael Mustermann
          - article [ref=e74]:
            - figure [ref=e76]
            - generic [ref=e77]:
              - paragraph [ref=e78]:
                - link "Dritter Teil einer Serie" [ref=e79] [cursor=pointer]:
                  - /url: /blog/dritter-teil-einer-serie/
              - paragraph [ref=e80]: Hier wird automatisch das Menü der Blogreihe in der rechten Spalte ausgegeben.
              - text: Beitrag lesen
            - generic [ref=e81]:
              - time [ref=e82]: 16.06.2023
              - generic [ref=e83]:
                - generic [ref=e84]: Max Powers
                - img "Max Powers" [ref=e85]
          - article [ref=e87]:
            - figure [ref=e89]
            - generic [ref=e90]:
              - paragraph [ref=e91]:
                - link "Zweiter Teil einer Serie" [ref=e92] [cursor=pointer]:
                  - /url: /blog/zweiter-teil-einer-serie/
              - paragraph [ref=e93]: SEO-Beschreibung und Teaser-Text fehlen, daher wird der vorhandene Blogtext in der Card gerendert. Lorem ipsum dolor...
              - text: Beitrag lesen
            - generic [ref=e94]:
              - time [ref=e95]: 18.04.2023
              - generic [ref=e96]:
                - generic [ref=e97]: Max Powers
                - img "Max Powers" [ref=e98]
          - article [ref=e100]:
            - figure [ref=e102]
            - generic [ref=e103]:
              - paragraph [ref=e104]:
                - link "Erster Teil einer Serie" [ref=e105] [cursor=pointer]:
                  - /url: /blog/erster-teil-einer-serie/
              - paragraph [ref=e106]: Hier wird automatisch das Menü der Blogreihe in der rechten Spalte ausgegeben.
              - text: Beitrag lesen
            - generic [ref=e107]:
              - time [ref=e108]: 15.02.2023
              - generic [ref=e109]:
                - generic [ref=e110]: Max Powers
                - img "Max Powers" [ref=e111]
          - article [ref=e113]:
            - figure [ref=e115]
            - generic [ref=e116]:
              - paragraph [ref=e117]:
                - link "Mit Kommentaren" [ref=e118] [cursor=pointer]:
                  - /url: /blog/mit-kommentaren/
              - paragraph [ref=e119]: Blog-Kommentare, auch verschachtelt. Keine Unterscheidung nach Frontend-Sprache!
              - text: Beitrag lesen
            - generic [ref=e120]:
              - time [ref=e121]: 15.06.2022
              - generic [ref=e122]:
                - generic [ref=e123]: John Doe
                - img "John Doe" [ref=e124]
          - article [ref=e126]:
            - figure [ref=e128]
            - generic [ref=e129]:
              - paragraph [ref=e130]:
                - link "Drei Autoren, einer inaktiv" [ref=e131] [cursor=pointer]:
                  - /url: /blog/drei-autoren-einer-inaktiv/
              - paragraph [ref=e132]: Der inaktive (ehemalige) Autor wird am Ende der Autorenbox einsortiert und ist kein Accordion-Element.
              - text: Beitrag lesen
            - generic [ref=e133]:
              - time [ref=e134]: 09.03.2022
              - list [ref=e135]:
                - listitem [ref=e136]:
                  - generic [ref=e137]: Michael Mustermann
                - listitem [ref=e141]:
                  - generic [ref=e142]:
                    - generic [ref=e143]: Ehemaliger Kollege
                    - img "Ehemaliger Kollege" [ref=e144]
                - listitem [ref=e145]:
                  - generic [ref=e146]:
                    - generic [ref=e147]: Max Powers
                    - img "Max Powers" [ref=e148]
        - navigation "Seitennavigation" [ref=e149]:
          - list [ref=e150]:
            - listitem [ref=e151]:
              - link "Zur Seite 1" [ref=e152] [cursor=pointer]:
                - /url: /blog/kategorien/schokolade/
                - text: "1"
  - contentinfo [ref=e153]:
    - generic [ref=e155]:
      - navigation [ref=e156]:
        - list [ref=e157]:
          - listitem [ref=e158]:
            - button "Cookie-Einstellungen" [ref=e159] [cursor=pointer]
          - listitem [ref=e160]:
            - link "Datenschutzerklärung" [ref=e161] [cursor=pointer]:
              - /url: https://www.marketing-factory.de.renovate-develop-development-dependencies.review.mfc.gmbh/datenschutzerklaerung/
          - listitem [ref=e162]:
            - link "Impressum" [ref=e163] [cursor=pointer]:
              - /url: https://www.marketing-factory.de.renovate-develop-development-dependencies.review.mfc.gmbh/impressum/
      - generic [ref=e164]:
        - paragraph [ref=e165]: © Marketing Factory Digital GmbH
        - paragraph [ref=e166]:
          - text: Alternativtexte für Bilder sind teilweise
          - link "KI-generiert" [ref=e167] [cursor=pointer]:
            - /url: https://www.marketing-factory.de.renovate-develop-development-dependencies.review.mfc.gmbh/technologie/typo3/unsere-typo3-extensions/ai-filemetadata/
```

# Test source

```ts
  173 | test.describe('content › textmedia › svg-images', () => {
  174 |     test('1-image-top-bottom-centered', async ({ page }) => {
  175 |         await setup(page, '/inhaltselemente/textmedia/svg-bilder/1-bild-oben-unten-zentriert/');
  176 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-1-image-top-bottom-centered'));
  177 |     });
  178 | 
  179 |     test('1-image-beside-text-centered', async ({ page }) => {
  180 |         await setup(page, '/inhaltselemente/textmedia/svg-bilder/1-bild-neben-text-zentriert/');
  181 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-1-image-beside-text-centered'));
  182 |     });
  183 | 
  184 |     test('1-image-beside-text', async ({ page }) => {
  185 |         await setup(page, '/inhaltselemente/textmedia/svg-bilder/1-bild-neben-text/');
  186 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-1-image-beside-text'));
  187 |         await setDarkTheme(page);
  188 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-1-image-beside-text-dark'));
  189 |     });
  190 | 
  191 |     test('2-images-top-bottom-centered', async ({ page }) => {
  192 |         await setup(page, '/inhaltselemente/textmedia/svg-bilder/2-bilder-oben-unten-zentriert/');
  193 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-2-images-top-bottom-centered'));
  194 |     });
  195 | 
  196 |     test('2-images-beside-text-centered', async ({ page }) => {
  197 |         await setup(page, '/inhaltselemente/textmedia/svg-bilder/2-bilder-neben-text-zentriert/');
  198 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-2-images-beside-text-centered'));
  199 |     });
  200 | 
  201 |     test('2-images-beside-text', async ({ page }) => {
  202 |         await setup(page, '/inhaltselemente/textmedia/svg-bilder/2-bilder-neben-text/');
  203 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-2-images-beside-text'));
  204 |     });
  205 | 
  206 |     test('1-image-beside-text-centered-33-percent', async ({ page }) => {
  207 |         await setup(page, '/inhaltselemente/textmedia/svg-bilder/1-bild-neben-text-zentriert-33-bildbreite/');
  208 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-1-image-beside-text-centered-33-percent'));
  209 |     });
  210 | 
  211 |     test('1-image-beside-text-33-percent', async ({ page }) => {
  212 |         await setup(page, '/inhaltselemente/textmedia/svg-bilder/1-bild-neben-text-33-bildbreite/');
  213 |         await expect(page).toHaveScreenshot(snap('content-textmedia-svg-1-image-beside-text-33-percent'));
  214 |     });
  215 | });
  216 | 
  217 | test.describe('page-types', () => {
  218 |     test('client-list', async ({ page }) => {
  219 |         await setup(page, '/seitentypen/kunden-listenansicht/');
  220 |         await expect(page).toHaveScreenshot(snap('page-type-client-list'));
  221 |     });
  222 | 
  223 |     test('client-pfm', async ({ page }) => {
  224 |         await setup(page, '/seitentypen/kunden-listenansicht/pfm-medical-sg/');
  225 |         await expect(page).toHaveScreenshot(snap('page-type-client-pfm'));
  226 |     });
  227 | });
  228 | 
  229 | test.describe('plugins', () => {
  230 |     test('project-list', async ({ page }) => {
  231 |         await setup(page, '/plugins/projekt-liste/');
  232 |         await expect(page).toHaveScreenshot(snap('plugin-project-list'));
  233 |     });
  234 | 
  235 |     test('project-obermeyer-corporate', async ({ page }) => {
  236 |         await setup(page, '/seitentypen/kunden-listenansicht/obermeyer-sg/launch-der-neuen-corporate-site-der-unternehmensgruppe-obermeyer-sg/');
  237 |         await expect(page).toHaveScreenshot(snap('plugin-project-obermeyer-corporate'));
  238 |     });
  239 | 
  240 |     test('picturecredits', async ({ page }) => {
  241 |         await setup(page, '/plugins/picturecredits/');
  242 |         await expect(page).toHaveScreenshot(snap('plugin-picturecredits'));
  243 |     });
  244 | });
  245 | 
  246 | test.describe('blog', () => {
  247 |     test('overview', async ({ page }) => {
  248 |         await setup(page, '/blog/');
  249 |         await expect(page).toHaveScreenshot(snap('blog-overview'));
  250 |         await setDarkTheme(page);
  251 |         await expect(page).toHaveScreenshot(snap('blog-overview-dark'));
  252 |     });
  253 | 
  254 |     test('list-authors', async ({ page }) => {
  255 |         await setup(page, '/blog/autoren/');
  256 |         await expect(page).toHaveScreenshot(snap('blog-list-authors'));
  257 |     });
  258 | 
  259 |     test('author', async ({ page }) => {
  260 |         await setup(page, '/blog/autoren/max-powers/');
  261 |         await expect(page).toHaveScreenshot(snap('blog-author'));
  262 |     });
  263 | 
  264 |     test('list-categories', async ({ page }) => {
  265 |         await setup(page, '/blog/kategorien/');
  266 |         await expect(page).toHaveScreenshot(snap('blog-list-categories'));
  267 |     });
  268 | 
  269 |     test('category', async ({ page }) => {
  270 |         await setup(page, '/blog/kategorien/schokolade/');
  271 | 
  272 | 
> 273 |         await expect(page).toHaveScreenshot(snap('blog-category'));
      |                            ^ Error: expect(page).toHaveScreenshot(expected) failed
  274 |     });
  275 | 
  276 |     test('list-blogseries', async ({ page }) => {
  277 |         await setup(page, '/blog/blogreihen/');
  278 |         await expect(page).toHaveScreenshot(snap('blog-list-blogseries'));
  279 |     });
  280 | 
  281 |     test('blogseries', async ({ page }) => {
  282 |         await setup(page, '/blog/blogreihen/styleguide-highlights/');
  283 |         await expect(page).toHaveScreenshot(snap('blog-blogseries'));
  284 |     });
  285 | 
  286 |     test('post-menu-elements', async ({ page }) => {
  287 |         await setup(page, '/blog/mit-menue-elementen/');
  288 |         await expect(page).toHaveScreenshot(snap('blog-post-menu-elements'));
  289 |     });
  290 | 
  291 |     test('post-blogseries', async ({ page }) => {
  292 |         await setup(page, '/blog/erster-teil-einer-serie/');
  293 |         await expect(page).toHaveScreenshot(snap('blog-post-blogseries'));
  294 |     });
  295 | 
  296 |     test('post-no-featured-image', async ({ page }) => {
  297 |         await setup(page, '/blog/ohne-beitragsbild/');
  298 |         await expect(page).toHaveScreenshot(snap('blog-post-no-featured-image'));
  299 |     });
  300 | 
  301 |     test('post-with-comments', async ({ page }) => {
  302 |         await setup(page, '/blog/mit-kommentaren/');
  303 |         await expect(page).toHaveScreenshot(snap('blog-post-with-comments'));
  304 |     });
  305 | 
  306 |     test('post-inactive-author', async ({ page }) => {
  307 |         await setup(page, '/blog/drei-autoren-einer-inaktiv/');
  308 |         await expect(page).toHaveScreenshot(snap('blog-post-inactive-author'));
  309 |     });
  310 | 
  311 |     test('post-localized-featured-image', async ({ page }) => {
  312 |         await setup(page, '/blog/uebersetztes-featured-image/');
  313 |         await expect(page).toHaveScreenshot(snap('blog-post-localized-featured-image'));
  314 |     });
  315 | });
  316 | 
  317 | test.describe('forms', () => {
  318 |     test('contact', async ({ page }) => {
  319 |         await setup(page, '/formulare/kontaktformular/');
  320 |         await expect(page).toHaveScreenshot(snap('forms-contact'));
  321 |         await setDarkTheme(page);
  322 |         await expect(page).toHaveScreenshot(snap('forms-contact-dark'));
  323 |     });
  324 | 
  325 |     test('footer', async ({ page }) => {
  326 |         await setup(page, '/formulare/footer-formular/');
  327 |         await expect(page).toHaveScreenshot(snap('forms-footer'));
  328 |     });
  329 | 
  330 |     test('example', async ({ page }) => {
  331 |         await setup(page, '/formulare/styleguide-testformular/');
  332 |         await expect(page).toHaveScreenshot(snap('forms-example'));
  333 |         await setDarkTheme(page);
  334 |         await expect(page).toHaveScreenshot(snap('forms-example-dark'));
  335 |     });
  336 | });
  337 | 
```