Skip to content

Commit

Permalink
adding tests (#12, #13, #14, #15, #16, #17)
Browse files Browse the repository at this point in the history
  • Loading branch information
Naseem77 committed Jan 20, 2025
1 parent b5ee828 commit 58f13d6
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 0 deletions.
3 changes: 3 additions & 0 deletions ui/app/components/footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const FooterComponent = () => {
<a
href="https://github.com/FalkorDB/benchmark/blob/master/readme.md#data"
className="hover:text-gray-800 flex items-center h-full whitespace-nowrap"
target="_blank"
>
DATASET USED <MoveUpRight size={16} />
</a>
Expand All @@ -23,6 +24,7 @@ const FooterComponent = () => {
<a
href="https://github.com/FalkorDB/benchmark/blob/master/readme.md"
className="hover:text-gray-800 flex items-center h-full whitespace-nowrap"
target="_blank"
>
README <MoveUpRight size={16} />
</a>
Expand All @@ -31,6 +33,7 @@ const FooterComponent = () => {
<a
href="https://github.com/FalkorDB/benchmark/blob/master/readme.md#faq"
className="hover:text-gray-800 flex items-center h-full whitespace-nowrap"
target="_blank"
>
FAQ <MoveUpRight size={16} />
</a>
Expand Down
2 changes: 2 additions & 0 deletions ui/app/components/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,14 @@ export function Header() {
<a
href="https://app.falkordb.cloud/signup"
className="h-8 text-black font-medium text-base hover:underline flex text-center justify-center"
target="_blank"
>
Sign up
</a>
<a
href="https://falkordb.com/try-free/"
className="h-10 bg-gradient-to-r from-[#EC806C] via-[#B66EBD] to-[#7568F2] text-white font-medium text-base px-4 py-2 rounded-lg shadow-md hover:opacity-90 transition-all duration-200 flex text-center justify-center"
target="_blank"
>
Start Free
</a>
Expand Down
9 changes: 9 additions & 0 deletions ui/tests/config/testData.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import urls from '../config/urls.json';

export const navitems: { navItem: string; expectedRes: string }[] = [
{ navItem: "Home", expectedRes: urls.falkorDBUrl },
{ navItem: "Github", expectedRes: urls.benchmarkGithubUrl },
{ navItem: "Discord", expectedRes: urls.falkordbDiscordUrl },
{ navItem: "Sign up", expectedRes: urls.signUpUrl },
{ navItem: "Start Free", expectedRes: urls.startFreeUrl },
];
30 changes: 30 additions & 0 deletions ui/tests/logic/POM/mainPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,26 @@ import BasePage from "../../infra/ui/basePage";

export default class NavBarComponent extends BasePage {

/* Header Locators */

private get falkorDBLogo(): Locator {
return this.page.locator("//header//img[@alt='FalkorDB']")
}

private get navBarSocialLink(): (navItem: string) => Locator {
return (navItem: string) => this.page.locator(`//a[@title="${navItem}"]`);
}

private get navBarLink(): (navItem: string) => Locator {
return (navItem: string) => this.page.locator(`//a[contains(text(), '${navItem}')]`);
}

async clickOnFalkorLogo(): Promise<void> {
await this.falkorDBLogo.click();
}

/* Header Functionality */

async clickOnFalkor(): Promise<Page> {
await this.page.waitForLoadState('networkidle');
const [newPage] = await Promise.all([
Expand All @@ -20,4 +32,22 @@ export default class NavBarComponent extends BasePage {
]);
return newPage
}

async getNavBarSocialLink(navItem : string): Promise<Page> {
await this.page.waitForLoadState('networkidle');
const [newPage] = await Promise.all([
this.page.waitForEvent('popup'),
this.navBarSocialLink(navItem).click(),
]);
return newPage
}

async getNavBarLink(navItem : string): Promise<Page> {
await this.page.waitForLoadState('networkidle');
const [newPage] = await Promise.all([
this.page.waitForEvent('popup'),
this.navBarLink(navItem).click(),
]);
return newPage
}
}
17 changes: 17 additions & 0 deletions ui/tests/tests/header.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { test, expect } from '@playwright/test';
import BrowserWrapper from '../infra/ui/browserWrapper';
import MainPage from '../logic/POM/mainPage';
import urls from '../config/urls.json';
import { navitems } from '../config/testData';

test.describe(' Navbar tests', () => {
let browser: BrowserWrapper;
Expand All @@ -19,4 +20,20 @@ test.describe(' Navbar tests', () => {
const page = await header.clickOnFalkor();
expect(page.url()).toBe(urls.falkorDBUrl)
})

navitems.slice(0,3).forEach(({navItem, expectedRes}) => {
test(`Verify clicking on ${navItem} redirects to specified ${navItem}`, async () => {
const header = await browser.createNewPage(MainPage, urls.baseUrl)
const page = await header.getNavBarSocialLink(navItem);
expect(page.url()).toBe(expectedRes)
})
})

navitems.slice(3,5).forEach(({navItem, expectedRes}) => {
test(`Verify clicking on ${navItem} redirects to specified ${navItem}`, async () => {
const header = await browser.createNewPage(MainPage, urls.baseUrl)
const page = await header.getNavBarLink(navItem);
expect(page.url()).toBe(expectedRes)
})
})
});

0 comments on commit 58f13d6

Please sign in to comment.