From 7dd8eabf60e8b5f2f97d28460f504bd5bf6ab29d Mon Sep 17 00:00:00 2001 From: Debbie O'Brien Date: Thu, 5 Sep 2024 21:15:48 +0200 Subject: [PATCH] update job and intro and playwright --- .vscode/settings.json | 2 +- content/about.md | 8 +++--- package-lock.json | 52 +++++++++++++++++++-------------------- package.json | 2 +- pages/index.vue | 11 ++------- tests/award-links.spec.ts | 11 --------- tests/home.spec.ts | 2 +- 7 files changed, 35 insertions(+), 53 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index cd85bd7a..96c9f323 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ "prettier.enable": true, "editor.formatOnSave": false, "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "source.fixAll.eslint": "explicit" }, "cSpell.words": [ "Fira", diff --git a/content/about.md b/content/about.md index fd377a49..869512ec 100644 --- a/content/about.md +++ b/content/about.md @@ -2,12 +2,12 @@ title: About --- -I have over 10 years experience in Frontend development and have worked as a Tech Lead and consultant for many important clients with varios technologies and often with a strong focus on performance. I have lead teams both in house and remotely as well as giving workshops and training. I have many years of experience as a mentor for online learning platforms, Treehouse and OpenClassrooms and am a teacher at [Vue School](https://vueschool.io/courses/internationalization-with-vue-i18n) as well as [Jamstack Explorers](https://explorers.netlify.com/learn/get-started-with-nuxt) and I am a writer for [Ultimate Courses](https://ultimatecourses.com/author/debbieobrien). +With over 15 years experience in Frontend development I have worked as a Tech Lead and consultant for many important clients with various technologies and often with a strong focus on performance. I have lead teams both in house and remotely as well as giving workshops and training. I have many years of experience as a mentor for online learning platforms, Treehouse and OpenClassrooms and am a teacher at [Vue School](https://vueschool.io/courses/internationalization-with-vue-i18n) as well as [Jamstack Explorers](https://explorers.netlify.com/learn/get-started-with-nuxt), and I am a writer for [Ultimate Courses](https://ultimatecourses.com/author/debbieobrien). -I am a Microsoft Most Valuable Professional in developer technologies, Google Developer Expert in web technologies, GitHub Star, Cloudinary Media Developer Expert, Auth0 Ambassador and Nuxt Ambassador. +I am a senior Technical Program manager at Microsoft, Google Developer Expert in web technologies, Nuxt Ambassador, and am a former Microsoft Most Valuable Professional in developer technologies, Media Developer Expert and GitHub star alumni. -I have a special love for JavaScript frameworks especially Vue.js and Nuxt.js and improving performance with webpack and of course the Jamstack and am an Open Source Contributor. I have a Frontend and FullStack Tech Degree and am Microsoft certified. I am an [international speaker](https://noti.st/debbie), and have spoken at many meet-ups and conferences worldwide on many continents including Antarctica. +I have a special love for JavaScript frameworks especially Vue.js and Nuxt.js and am now focused on testing especially end to end testing with Playwright. I have a Frontend and FullStack Tech Degree and am Microsoft certified. I am an international speaker, and have spoken at many meet-ups and conferences worldwide on many continents including Antarctica. I am Irish but live in Mallorca, Spain and when I am not writing code and studying new technologies you can find me doing all sorts of sports from running, cycling and skiing, body combat and of course Taekwondo as I am a 4th degree black belt. -Checkout my [YouTube Channel](https://www.youtube.com/c/DebbieOBrien) for all the latest videos mainly on Nuxt and React. +Checkout my [YouTube Channel](https://www.youtube.com/c/DebbieOBrien) for all the latest videos. diff --git a/package-lock.json b/package-lock.json index 6bbf64e7..60a16c6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@nuxtjs/color-mode": "^3.2.0", "@nuxtjs/robots": "^3.0.0", "@nuxtjs/tailwindcss": "^6.4.1", - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.46.1", "@tailwindcss/typography": "^0.5.9", "dotenv": "^16.3.1", "eslint": "^8.35.0", @@ -2458,18 +2458,18 @@ } }, "node_modules/@playwright/test": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz", - "integrity": "sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==", + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.46.1.tgz", + "integrity": "sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==", "dev": true, "dependencies": { - "playwright": "1.39.0" + "playwright": "1.46.1" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@rollup/plugin-alias": { @@ -12315,33 +12315,33 @@ } }, "node_modules/playwright": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz", - "integrity": "sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==", + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.46.1.tgz", + "integrity": "sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==", "dev": true, "dependencies": { - "playwright-core": "1.39.0" + "playwright-core": "1.46.1" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" }, "optionalDependencies": { "fsevents": "2.3.2" } }, "node_modules/playwright-core": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz", - "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==", + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.46.1.tgz", + "integrity": "sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==", "dev": true, "bin": { "playwright-core": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/pluralize": { @@ -19144,12 +19144,12 @@ "optional": true }, "@playwright/test": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz", - "integrity": "sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==", + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.46.1.tgz", + "integrity": "sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==", "dev": true, "requires": { - "playwright": "1.39.0" + "playwright": "1.46.1" } }, "@rollup/plugin-alias": { @@ -26466,19 +26466,19 @@ } }, "playwright": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz", - "integrity": "sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==", + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.46.1.tgz", + "integrity": "sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==", "dev": true, "requires": { "fsevents": "2.3.2", - "playwright-core": "1.39.0" + "playwright-core": "1.46.1" } }, "playwright-core": { - "version": "1.39.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz", - "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==", + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.46.1.tgz", + "integrity": "sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==", "dev": true }, "pluralize": { diff --git a/package.json b/package.json index d69b436c..5fe96f59 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "@nuxtjs/color-mode": "^3.2.0", "@nuxtjs/robots": "^3.0.0", "@nuxtjs/tailwindcss": "^6.4.1", - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.46.1", "@tailwindcss/typography": "^0.5.9", "dotenv": "^16.3.1", "eslint": "^8.35.0", diff --git a/pages/index.vue b/pages/index.vue index 94350988..b94918e9 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -59,7 +59,7 @@ const { data: podcasts } = await useAsyncData('podcasts-home',

- Senior Technical Program Manager at Microsoft + Principal Technical Program Manager at Microsoft

- - Cloudinary Ambassador - - | + { await expect(page1).toHaveURL('https://stars.github.com/alumni/'); }); -test('Cloudinary Ambassador link in home page works', async ({ page }) => { - await page.context().route('https://cloudinary.com/**', route => route.fulfill({ - body: '

Cloudinary Ambassador

' - })); - - const [page1] = await Promise.all([ - page.waitForEvent('popup'), - await page.getByRole('link', { name: 'Cloudinary Ambassador' }).click() - ]); - await expect(page1).toHaveURL('https://cloudinary.com/mde'); -}); test('Nuxt Ambassador link in home page works', async ({ page }) => { await page.context().route('https://nuxtjs.org/**', route => route.fulfill({ diff --git a/tests/home.spec.ts b/tests/home.spec.ts index c069bbfb..4eae94c4 100644 --- a/tests/home.spec.ts +++ b/tests/home.spec.ts @@ -8,7 +8,7 @@ test.beforeEach(async ({ page }) => { test('home contains name and title', async ({ page }) => { await expect(page.getByRole('heading', { name: /Debbie O'Brien/i })).toBeVisible(); - await expect(page.getByText('Senior Technical Program Manager at Microsoft')).toBeVisible(); + await expect(page.getByText('Principal Technical Program Manager at Microsoft')).toBeVisible(); }); test('home page has 1 featured post', async ({ page }) => {