Skip to content

Commit 95b764b

Browse files
Merge branch 'master' into fix/cleanup-deprecated-dependencies
2 parents e39ef9f + b49a9f2 commit 95b764b

25 files changed

+297
-93
lines changed

components/editor/CodeBlock.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { CheckIcon } from '@heroicons/react/outline';
12
import React, { useState } from 'react';
23
import Highlight from 'react-syntax-highlighter';
34

@@ -333,13 +334,11 @@ export default function CodeBlock({
333334
title='Copy to clipboard'
334335
data-test='copy-button'
335336
>
336-
{showIsCopied && (
337-
<span className='mr-2 inline-block pl-2 pt-1' data-testid='clicked-text'>
338-
Copied!
339-
</span>
340-
)}
341-
<span className='inline-block pt-1'>
342-
<IconClipboard className='-mt-0.5 inline-block size-4' />
337+
<output className='sr-only' aria-live='polite' aria-atomic='true'>
338+
{showIsCopied ? 'Copy to clipboard' : ''}
339+
</output>
340+
<span className='relative inline-block mt-1 size-4' aria-hidden='true'>
341+
{showIsCopied ? <CheckIcon className='h-full w-full' /> : <IconClipboard className='h-full w-full' />}
343342
</span>
344343
</button>
345344
</div>

config/meetings.json

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
11
[
2-
{
3-
"title": "AsyncAPI Online Conference 2025",
4-
"calLink": "https://www.google.com/calendar/event?eid=MzBrbmNtbDRqYWcyMDQ2YmwycTE0bTRpYmcgY19xOXRzZWlnbG9tZHNqNm5qdWh2YnB0czExY0Bn",
5-
"url": "https://github.com/asyncapi/community/issues/2077",
6-
"banner": "",
7-
"date": "2025-10-29T10:00:00.000Z"
8-
},
92
{
103
"title": "AsyncAPI Community WG Meeting",
114
"calLink": "https://www.google.com/calendar/event?eid=a29zYnNtaXFxbG9waDM2MG8wbGxmNmRnaGsgY19xOXRzZWlnbG9tZHNqNm5qdWh2YnB0czExY0Bn",

cypress/docspage.cy.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ beforeEach(() => {
1212
});
1313

1414
describe('Docs Page Tests', () => {
15-
it('User navigates SideBar containing various sections', () => {
15+
it('verifying navigation to SideBar containing various sections', () => {
1616
docsPage.goToConceptsSection();
1717

1818
cy.get('@subsections').then((subsections) => {
@@ -29,7 +29,7 @@ describe('Docs Page Tests', () => {
2929
docsPage.goToMigrationsSection();
3030
docsPage.goToCommunitySection();
3131

32-
it('User verifies Card Links present on the Docs Page', () => {
32+
it('verifying Card Links present on the Docs Page', () => {
3333
const cards = [
3434
{ href: '/docs/concepts' },
3535
{ href: '/docs/tutorials' },

cypress/fixtures/toolsPages.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"generator": {
3+
"path": "/tools/generator",
4+
"heading": "Docs, Code, Anything!",
5+
"image": "generator diagram",
6+
"github": "https://www.github.com/asyncapi/generator",
7+
"docs": "/docs/tools/generator"
8+
},
9+
"cli": {
10+
"path": "/tools/cli",
11+
"heading": "Interact with AsyncAPI from the comfort of your CLI",
12+
"install": "npm install -g @asyncapi/cli",
13+
"github": "https://www.github.com/asyncapi/cli",
14+
"docs": "/docs/tools/cli"
15+
},
16+
"parsers": {
17+
"path": "/tools/parsers",
18+
"heading": "Build your own tools",
19+
"install": "npm install @asyncapi/parser",
20+
"github": "https://www.github.com/asyncapi/parser-js"
21+
},
22+
"githubActions": {
23+
"path": "/tools/github-actions",
24+
"heading": "Automate using GitHub Actions",
25+
"github": "https://www.github.com/asyncapi/github-action-for-generator"
26+
},
27+
"modelina": {
28+
"path": "/tools/modelina",
29+
"heading": "Modelina",
30+
"install": "npm install @asyncapi/modelina",
31+
"tryIt": {
32+
"text": "Try it now",
33+
"href": "https://modelina.org/playground"
34+
},
35+
"github": "https://www.github.com/asyncapi/modelina"
36+
}
37+
}

cypress/header.cy.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ describe('Header Links Validation', () => {
88
header.visit();
99
});
1010

11-
it('User hovers over Docs dropdown and sees the dropdown', () => {
11+
it('Verifying if user hovers over Docs dropdown and sees the dropdown', () => {
1212
header.verifyDocsDropdown();
1313
});
1414

15-
it('User hovers over Tools dropdown and sees the dropdown', () => {
15+
it('Verifying if user hovers over Tools dropdown and sees the dropdown', () => {
1616
header.verifyToolsDropdown();
1717
});
1818

19-
it('User hovers over Community dropdown and sees the dropdown', () => {
19+
it('Verifying if user hovers over Community dropdown and sees the dropdown', () => {
2020
header.verifyCommunityDropdown();
2121
});
2222
});

cypress/pages/BaseFooterPage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class BasePage {
77
const chain = cy
88
.get(`a[${attr}="${href}"]`)
99
.should('be.visible')
10-
.and('have.attr', attr, href);
10+
.should('have.attr', attr, href);
1111
return text ? chain.and('contain', text) : chain;
1212
}
1313
}

cypress/pages/BaseHeaderPage.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11

22
class BasePage {
3-
visit(path = '/') {
4-
cy.visit(path)
5-
return this;
3+
visit() {
4+
cy.visit('/')
65
}
76

87
getElement(selector) {
@@ -11,8 +10,8 @@ class BasePage {
1110

1211
hoverElement(selector) {
1312
return this.getElement(selector)
14-
.trigger('mouseover')
15-
.trigger('mouseenter');
13+
.trigger('mouseover')
14+
.trigger('mouseenter');
1615
}
1716
}
1817

cypress/pages/BasePage.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
class BasePage {
2+
visit(url = '/') {
3+
cy.visit(url);
4+
}
5+
6+
getElement(selector) {
7+
return cy.get(selector);
8+
}
9+
10+
hoverElement(selector) {
11+
return this.getElement(selector)
12+
.trigger('mouseover')
13+
.trigger('mouseenter');
14+
}
15+
16+
verifyElementIsVisible(selector) {
17+
return this.getElement(selector).should('be.visible');
18+
}
19+
20+
verifyElementHasAttribute(selector, attribute, value) {
21+
return this.getElement(selector).should('have.attr', attribute, value);
22+
}
23+
24+
verifyHeadingExists(headingText) {
25+
return cy.contains('h1, h2, h3, h4, h5, h6', headingText).should('be.visible');
26+
}
27+
28+
verifyLink(href, text, { findByText = false } = {}) {
29+
if (findByText && text) {
30+
const chain = cy.contains('a', text).should('be.visible');
31+
return href ? chain.and('have.attr', 'href', href) : chain;
32+
}
33+
const chain = cy.get(`a[href="${href}"]`).should('be.visible').and('have.attr', 'href', href);
34+
return text ? chain.and('contain', text) : chain;
35+
}
36+
37+
verifyButtonLink(href, buttonText) {
38+
return this.verifyLink(href, buttonText, { findByText: true });
39+
}
40+
41+
verifyElementContainsText(selector, text) {
42+
return cy.contains(selector, text).should('exist');
43+
}
44+
45+
verifyImageVisible(altText) {
46+
return cy.get(`img[alt="${altText}"]`)
47+
.should('be.visible')
48+
.and('have.attr', 'src')
49+
.should('not.be.empty');
50+
}
51+
52+
}
53+
54+
export default BasePage;

cypress/pages/BasePageTools.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
class BasePage {
2-
visit(path) {
3-
cy.visit(path);
2+
visit() {
3+
cy.visit('/');
44
}
55

66
getHeaderText(selector, expectedText) {
77
cy.get(selector).should('contain.text', expectedText);
88
}
99

1010
getLink(href, text) {
11-
return cy.contains(`a[href="${href}"]`, text)
11+
return cy.contains(`a[href="${href}"]`, text)
1212
.should('be.visible')
1313
.and('have.attr', 'href', href);
1414
}

cypress/pages/BlogPage.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
class BlogPage {
1+
import BasePage from './BasePage';
2+
3+
class BlogPage extends BasePage {
24
verifyPageLoaded() {
3-
cy.contains('h1', 'Welcome to our blog!').should('be.visible');
5+
this.verifyHeadingExists('Welcome to our blog!');
46
}
57
}
8+
69
export default BlogPage;

0 commit comments

Comments
 (0)