diff --git a/config/city-lists.json b/config/city-lists.json index 01393c12..1d8c7b38 100644 --- a/config/city-lists.json +++ b/config/city-lists.json @@ -7,10 +7,25 @@ "description": "Join us for the AsyncAPI Online Conference Edition as the community unites across the globe to share experiences, collaborate, and foster meaningful connections.", "img": "/img/testMic.webp", "address": "AsyncAPI YouTube Channel", - "map": "https://www.youtube.com/playlist?list=PLbi1gRlP7pijItMBmw9SeeyWxuEa3jLR2", - "sponsors": [ - "/img/apidays.png" - ], + "map": "https://www.youtube.com/live/F9wHxd-v2f0?si=PT8BuAUKNmoLHRiM", + "sponsors": { + "eventSponsors" : [{ + "image":"/img/apidays.png", + "websiteUrl":"https://www.apidays.global/" + }], + "financialSponsors" : [ + { + "image":"/img/graviteeio.svg" , + "websiteUrl": "https://www.gravitee.io/", + "className":"w-[250px] h-[50px]" + }, + { + "image":"/img/postman.png" , + "websiteUrl":"https://www.postman.com/", + "className":"w-[240px] h-[70px]" + } + ] + }, "ticket": false, "isFree": true, "ended": true, @@ -27,9 +42,24 @@ "img": "/img/finland.webp", "address": "Pikku-Finlandia, Helsinki, Karamzininranta 4, 00100 Helsinki, Finland", "map": "https://maps.app.goo.gl/UpdEp188m5YNEAEo9", - "sponsors": [ - "/img/apidays.png" - ], + "sponsors": { + "eventSponsors" : [{ + "image":"/img/apidays.png", + "websiteUrl":"https://www.apidays.global/" + }], + "financialSponsors" : [ + { + "image":"/img/graviteeio.svg" , + "websiteUrl": "https://www.gravitee.io/", + "className":"w-[250px] h-[50px]" + }, + { + "image":"/img/postman.png" , + "websiteUrl":"https://www.postman.com/", + "className":"w-[240px] h-[70px]" + } + ] + }, "ticket": false, "isFree": false, "ended": true @@ -43,9 +73,24 @@ "img": "/img/london.gif", "address": "155 Bishopsgate, London EC2M 3YD", "map": "https://maps.app.goo.gl/b2Vb5H2mM41F9nQA6", - "sponsors": [ - "/img/apidays.png" - ], + "sponsors": { + "eventSponsors" : [{ + "image":"/img/apidays.png", + "websiteUrl":"https://www.apidays.global/" + }], + "financialSponsors" : [ + { + "image":"/img/graviteeio.svg" , + "websiteUrl": "https://www.gravitee.io/", + "className":"w-[250px] h-[50px]" + }, + { + "image":"/img/postman.png" , + "websiteUrl":"https://www.postman.com/", + "className":"w-[240px] h-[70px]" + } + ] + }, "ticket": "https://ticket.apidays.global/event/apidays-london-2024/869eca20-bfb6-4103-b8bb-d0348932e940/", "isFree": true, "ended": true, @@ -61,9 +106,24 @@ "img": "https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExd24yenR4djEyZzRoeDA0ZmEyb3Y1c2F4NWVmbG13NmZwYWNhZzdnNiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/Tuy3QxNZF1cxG/giphy.gif", "address": "CNIT (Centre des Nouvelles Industries et Technologies), Paris 2 Place de la Défense, 92092 Puteaux", "map": "https://maps.app.goo.gl/5te8WRM9Rb8B6vNd9", - "sponsors": [ - "/img/apidays.png" - ], + "sponsors": { + "eventSponsors" : [{ + "image":"/img/apidays.png", + "websiteUrl":"https://www.apidays.global/" + }], + "financialSponsors" : [ + { + "image":"/img/graviteeio.svg" , + "websiteUrl": "https://www.gravitee.io/", + "className":"w-[250px] h-[50px]" + }, + { + "image":"/img/postman.png" , + "websiteUrl":"https://www.postman.com/", + "className":"w-[240px] h-[70px]" + } + ] + }, "ticket": "https://ticket.apidays.global/event/apidays-paris-2024/f8f61349-4f78-4bba-a162-68d598833116/cart?coupon=ASYNCAPICONF", "isFree": true, "cfp": false, diff --git a/cypress/e2e/Landing.cy.js b/cypress/e2e/Landing.cy.js index 60c650f0..65e82f4d 100644 --- a/cypress/e2e/Landing.cy.js +++ b/cypress/e2e/Landing.cy.js @@ -1,4 +1,6 @@ import path from "path"; +import cities from "../../config/city-lists.json" + describe("Landing Page Tests", () => { beforeEach(() => { cy.visit("/"); @@ -33,6 +35,26 @@ describe("Landing Page Tests", () => { cy.getTestData("sponsor-section").should("be.visible"); }); + it("Should contain logos in Sponsor component", () => { + const eventSponsors = cities[0].sponsors.eventSponsors; + + const financialSponsor = cities[0].sponsors.financialSponsors; + + eventSponsors.forEach((sponsor) => { + cy.getTestData('sponsor-section') + .find(`img[src="${sponsor.image}"]`) + .should('be.visible'); + cy.get(`a[href="${sponsor.websiteUrl}"]`).should('exist'); + }); + + financialSponsor.forEach((sponsor) => { + cy.getTestData('sponsor-section') + .find(`img[src="${sponsor.image}"]`) + .should('be.visible'); + cy.get(`a[href="${sponsor.websiteUrl}"]`).should('exist'); + }); + }); + it("Subscribe Button is functional", () => { cy.getTestData("subscribe-button").invoke("removeAttr", "target").click(); diff --git a/cypress/e2e/Venue.cy.js b/cypress/e2e/Venue.cy.js index cc14bb20..5ee24e6d 100644 --- a/cypress/e2e/Venue.cy.js +++ b/cypress/e2e/Venue.cy.js @@ -6,7 +6,7 @@ it("should render guideline for not ended cities and agenda otherwise",()=>{ cy.getTestData(`venue-${city.name}`).then(val=>{ - if(!city.ended){ + if(Date.now()>Date(city.date) && !city.ended){ cy.getTestData("guideline-com").should("be.visible"); } else{ @@ -18,7 +18,33 @@ it("should render guideline for not ended cities and agenda otherwise",()=>{ }); -it.only("Form should work",()=>{ +it("Should contain logos in Sponsor component", () => { + const eventSponsors = cities[0].sponsors.eventSponsors; + + const financialSponsor = cities[0].sponsors.financialSponsors; + + cy.wrap(cities).each((city) => { + cy.visit(`http://localhost:3000/venue/${city.name}`); + + cy.getTestData("sponsor-section").should("exist"); + + eventSponsors.forEach((sponsor) => { + cy.getTestData('sponsor-section') + .find(`img[src="${sponsor.image}"]`) + .should('be.visible'); + cy.get(`a[href="${sponsor.websiteUrl}"]`).should('exist'); + }); + + financialSponsor.forEach((sponsor) => { + cy.getTestData('sponsor-section') + .find(`img[src="${sponsor.image}"]`) + .should('be.visible'); + cy.get(`a[href="${sponsor.websiteUrl}"]`).should('exist'); + }); + }) +}); + +it("Form should work",()=>{ cy.visit('http://localhost:3000/venue/online/register'); cy.getTestData("cfp-form").should('be.visible'); diff --git a/pages/index.js b/pages/index.js index 9a94f90a..78c8de64 100644 --- a/pages/index.js +++ b/pages/index.js @@ -185,6 +185,7 @@ export default function Home() { +