From 2db5515409996521bfb7441585bfef72cc7385d9 Mon Sep 17 00:00:00 2001 From: Michelle Tran <michelle.tran@darkwolfsolutions.com> Date: Thu, 17 Mar 2022 13:43:23 +0000 Subject: [PATCH] BULL-1716 Added lock icons to SSO links --- src/components/NavBar.vue | 18 +++-- src/components/PageHeader.vue | 8 +- src/components/ResourcesLinks.vue | 10 +-- src/components/ServicesSummary.vue | 18 ++--- src/views/BigBangOnboarding.vue | 30 ++++--- src/views/Home.vue | 18 ++--- src/views/IronBankGettingStarted.vue | 74 ++++++++--------- src/views/PartyBusOnboardingFAQs.vue | 8 +- src/views/Resources.vue | 116 ++++++++++++--------------- src/views/cATO.vue | 12 +-- tests/e2e/specs/links.js | 40 +++++---- tests/e2e/support/index.js | 12 +-- 12 files changed, 172 insertions(+), 192 deletions(-) diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index 63426c4e..b9a9636e 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -9,7 +9,9 @@ <v-spacer></v-spacer> <v-toolbar-items v-show="!burgerMenu"> <div class="navbar-nav my-auto"> - <router-link class="nav-item" to="/" exact> {{ PageMeta.Home.nav }} </router-link> + <router-link class="nav-item" to="/" exact> + {{ PageMeta.Home.nav }} + </router-link> <v-menu open-on-hover bottom offset-y> <template v-slot:activator="{ on, attrs }"> <span v-bind="attrs" v-on="on"> @@ -141,7 +143,7 @@ import { PageMeta } from "@/constants/PageMeta"; export default { name: "NavBar", components: { - YodaLogo + YodaLogo, }, data: () => ({ @@ -152,10 +154,10 @@ export default { PageMeta.PartyBus, PageMeta.BigBang, PageMeta.CNAP, - PageMeta.Cybersecurity + PageMeta.Cybersecurity, ], navigationDrawerBreakPoint: 1020, - burgerMenu: false + burgerMenu: false, }), beforeDestroy() { if (typeof window === "undefined") return; @@ -171,16 +173,16 @@ export default { methods: { onResize() { this.burgerMenu = window.innerWidth < 1020; - } + }, }, watch: { - "$vuetify.breakpoint.width": function(value) { + "$vuetify.breakpoint.width": function (value) { if (value >= this.navigationDrawerBreakPoint) { this.menuVisible = false; } - } - } + }, + }, }; </script> <style lang="scss"> diff --git a/src/components/PageHeader.vue b/src/components/PageHeader.vue index d3d21577..d824e038 100644 --- a/src/components/PageHeader.vue +++ b/src/components/PageHeader.vue @@ -7,7 +7,7 @@ <div class="row wrap text-left mx-xs-5 mx-md-0 mx-lg-10 mx-xl-16"> <div v-if="this.hasImageSlot" - class="col-md-4 py-0 order-md-2 mt-md-n10 " + class="col-md-4 py-0 order-md-2 mt-md-n10" > <div class="logo-mw ml-8 mb-9 mt-15 mx-md-auto mb-md-12 mt-md-0"> <slot name="imageSlot" /> @@ -62,7 +62,7 @@ import Breadcrumb from "@/components/Breadcrumb.vue"; export default { props: { - hideBreadcrumbs: Boolean + hideBreadcrumbs: Boolean, }, components: { Breadcrumb }, computed: { @@ -83,8 +83,8 @@ export default { }, hasButtonSlot() { return !!this.$slots["button"]; - } - } + }, + }, }; </script> <style lang="scss" scoped> diff --git a/src/components/ResourcesLinks.vue b/src/components/ResourcesLinks.vue index 0c473ed9..f3f4c096 100644 --- a/src/components/ResourcesLinks.vue +++ b/src/components/ResourcesLinks.vue @@ -28,11 +28,11 @@ export default { name: "ResourcesLinks", props: { links: { - type: Array - } + type: Array, + }, }, components: { - DownloadButton + DownloadButton, }, methods: { getIcon(filename) { @@ -41,7 +41,7 @@ export default { } else { return "mdi-link mdi-rotate-135"; } - } - } + }, + }, }; </script> diff --git a/src/components/ServicesSummary.vue b/src/components/ServicesSummary.vue index b5a4a0e9..676d1589 100644 --- a/src/components/ServicesSummary.vue +++ b/src/components/ServicesSummary.vue @@ -63,29 +63,29 @@ import CSLogo from "@/assets/images/logos/CyberSecLogo.png"; export default { name: "ServicesSummary", components: { - LogoCard + LogoCard, }, props: { ignoreIronBank: { type: Boolean, - default: false + default: false, }, ignoreBigBang: { type: Boolean, - default: false + default: false, }, ignorePartyBus: { type: Boolean, - default: false + default: false, }, ignoreCNAP: { type: Boolean, - default: false + default: false, }, ignoreCyberSec: { type: Boolean, - default: false - } + default: false, + }, }, data() { return { @@ -93,9 +93,9 @@ export default { pbLogo: PBLogo, bbLogo: BBLogo, cnapLogo: CNAPlogo, - csLogo: CSLogo + csLogo: CSLogo, }; - } + }, }; </script> <style lang="scss" scoped> diff --git a/src/views/BigBangOnboarding.vue b/src/views/BigBangOnboarding.vue index e4e09e07..7715bf5b 100644 --- a/src/views/BigBangOnboarding.vue +++ b/src/views/BigBangOnboarding.vue @@ -201,53 +201,51 @@ export default { name: "BigBangOnboarding", components: { PageHeader, - Wave + Wave, //GoogleClassroomIcon }, methods: {}, - data: function() { + data: function () { return { workshopDates: [ { date: "9/07/21" }, { date: "9/21/21" }, { date: "10/05/21" }, - { date: "10/19/21" } + { date: "10/19/21" }, ], engineerDates: [{ date: "9/28/21" }, { date: "10/12/21" }], milestones: [ { done: false, - text: - "WEEK 1: PLATFORM ONE OVERVIEW, BIG BANG, SECURITY, AND DEPLOYMENT", + text: "WEEK 1: PLATFORM ONE OVERVIEW, BIG BANG, SECURITY, AND DEPLOYMENT", details: [ "Day 1: Overview of Platform One and Big Bang", "Day 2: Security Overview of P1", - "Days 3 & 4: Big Bang Deployment (cluster, air-gapped Docker registry, air-gapped Git repo)" - ] + "Days 3 & 4: Big Bang Deployment (cluster, air-gapped Docker registry, air-gapped Git repo)", + ], }, { done: false, text: "WEEK 2: BIG BANG CONFIG MANAGEMENT AND SECURITY TOOLING", details: [ "Days 5 & 6: GitOps, Argo CD, & Secrets", - "Days 7 & 8: GitLab CI and Security Tooling" - ] + "Days 7 & 8: GitLab CI and Security Tooling", + ], }, { done: false, - text: - 'WEEK 3: BIG "DAY 2" OPERATIONS AND MANAGING A BIG BANG CLUSTER', + text: 'WEEK 3: BIG "DAY 2" OPERATIONS AND MANAGING A BIG BANG CLUSTER', details: [ "Day 9: Operator pattern and consolidated monitoring with Prometheus and Grafana", "Day 10: Consolidated logging with ECK", - 'Day 11: "Day 2" Operations' - ] - } + 'Day 11: "Day 2" Operations', + ], + }, ], - PageMetaBigBangOnboarding: PageMeta.BigBangOnboarding + PageMetaBigBangOnboarding: PageMeta.BigBangOnboarding, }; - } + }, }; </script> <style lang="scss"> diff --git a/src/views/Home.vue b/src/views/Home.vue index f48c7511..5c761006 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -12,9 +12,7 @@ <v-img :src="p1Logo" /> </template> <template slot="button"> - <v-btn color="primary" :href="buttonHeaderURL"> - Learn More - </v-btn> + <v-btn color="primary" :href="buttonHeaderURL"> Learn More </v-btn> </template> </PageHeader> <IntroVideo class="video-section-margin" /> @@ -120,13 +118,7 @@ </div> <div class="container pa-0 section-margin"> <div - class=" - d-flex - flex-column - align-items-center - mx-4 mx-md-16 - award-padding - " + class="d-flex flex-column align-items-center mx-4 mx-md-16 award-padding" > <h2 class="mx-8 mx-sm-16 pb-6">Platform One Awards</h2> <img @@ -159,15 +151,15 @@ export default { IntroVideo, ServicesSummary, Wave, - WhoWeServe + WhoWeServe, }, data: () => ({ PageMetaHome: PageMeta.Home, displayVisitorComponent: false, p1Logo: "static/p1-logo.png", - buttonHeaderURL: "/services" - }) + buttonHeaderURL: "/services", + }), }; </script> diff --git a/src/views/IronBankGettingStarted.vue b/src/views/IronBankGettingStarted.vue index 4b52dfee..40b8436c 100644 --- a/src/views/IronBankGettingStarted.vue +++ b/src/views/IronBankGettingStarted.vue @@ -21,7 +21,7 @@ </h4> </v-row> <v-row class="row-alignment"> - <v-col sm="3" md="3" class=" mr-0 pr-0"> + <v-col sm="3" md="3" class="mr-0 pr-0"> <div class="path"> <div class="steps"> <v-btn @@ -43,7 +43,7 @@ </div> </div> </v-col> - <v-col sm="3" md="3" class=" mr-0 pr-0"> + <v-col sm="3" md="3" class="mr-0 pr-0"> <div class="path"> <div class="steps"> <v-btn @@ -107,7 +107,7 @@ </v-col> </v-row> <v-row class=""> - <v-col md="3" class=" mr-0 pr-0"> + <v-col md="3" class="mr-0 pr-0"> <h4 class="hidden-sm-and-down p1-grey ml-12 ml-lg-0 ml-md-0 mr-lg-4 ml-xl-12" > @@ -115,7 +115,7 @@ {{ tabs["tab-1"][1] }} </h4> </v-col> - <v-col md="3" class=" mr-0 second-text"> + <v-col md="3" class="mr-0 second-text"> <h4 class="hidden-sm-and-down ml-10 ml-lg-0 ml-md-0 p1-grey ml-xl-10" > @@ -132,7 +132,7 @@ </h4> </v-col> - <v-col md="3" class=" ml-0 pl-0 last-text"> + <v-col md="3" class="ml-0 pl-0 last-text"> <h4 class="hidden-sm-and-down p1-grey mr-n12 ml-md-n4 mr-lg-0 ml-lg-4 ml-xl-16" > @@ -382,7 +382,7 @@ :options="[ 'Yes', 'No', - 'My container uses a Distroless image' + 'My container uses a Distroless image', ]" :excludeInitialSelect="true" :includeOtherOption="true" @@ -568,7 +568,7 @@ { label: 'IL-2', checked: false }, { label: 'IL-4', checked: false }, { label: 'IL-5', checked: false }, - { label: '> IL-5', checked: false } + { label: '> IL-5', checked: false }, ]" ref="entry.1947787157" /> @@ -664,13 +664,9 @@ <div class="row justify-content-center px-8"> <div class="col-md-6"> <div> - <h2 class="mx-auto"> - Have More Questions? - </h2> + <h2 class="mx-auto">Have More Questions?</h2> </div> - <p class="mx-auto"> - Check out our FAQ page. - </p> + <p class="mx-auto">Check out our FAQ page.</p> </div> </div> <div> @@ -698,9 +694,7 @@ <v-card-actions> <v-spacer></v-spacer> - <v-btn color="primary" @click="errorModal = false"> - Close - </v-btn> + <v-btn color="primary" @click="errorModal = false"> Close </v-btn> </v-card-actions> </v-card> </v-dialog> @@ -723,9 +717,9 @@ export default { TextField, RadioGroup, CheckboxGroup, - DatePicker + DatePicker, }, - data: function() { + data: function () { return { PageMetaIbgs: PageMeta.IronBankGettingStarted, initialScrollSet: false, @@ -742,7 +736,7 @@ export default { "tab-1": ["STEP ONE:", "IMPORTANT FIRST STEPS"], "tab-2": ["STEP TWO:", "IRON BANK TERMS"], "tab-3": ["STEP THREE:", "TECHNICAL QUESTIONS"], - "tab-4": ["STEP FOUR:", "ONBOARDING QUESTIONS"] + "tab-4": ["STEP FOUR:", "ONBOARDING QUESTIONS"], }, formData: {}, formPartsIds: { @@ -753,7 +747,7 @@ export default { "entry.1046023860", "entry.1507741445", "entry.17089736", - "entry.847595280" + "entry.847595280", ], sectionThree: [ "entry.585195391", @@ -767,7 +761,7 @@ export default { "entry.69315081", "entry.2109418202", "entry.1109718997", - "entry.1286541874" + "entry.1286541874", ], sectionFour: [ "entry.1363283294", @@ -783,9 +777,9 @@ export default { "entry.858995886", "entry.418059336", "entry.91910347", - "entry.1947787157" - ] - } + "entry.1947787157", + ], + }, }; }, methods: { @@ -799,7 +793,7 @@ export default { this.currentTab = tab; }, checkSectionOne() { - const validationItems = this.formPartsIds.sectionOne.map(id => { + const validationItems = this.formPartsIds.sectionOne.map((id) => { return this.$refs[id].failedValidation(); }); this.$refs.formSectionOne.validate(); @@ -811,7 +805,7 @@ export default { } }, checkSectionTwo() { - const validationItems = this.formPartsIds.sectionTwo.map(id => { + const validationItems = this.formPartsIds.sectionTwo.map((id) => { return this.$refs[id].failedValidation(); }); this.$refs.formSectionTwo.validate(); @@ -823,7 +817,7 @@ export default { } }, checkSectionThree() { - const validationItems = this.formPartsIds.sectionThree.map(id => { + const validationItems = this.formPartsIds.sectionThree.map((id) => { return this.$refs[id].failedValidation(); }); this.$refs.formSectionThree.validate(); @@ -836,7 +830,7 @@ export default { } }, checkSectionFour() { - const validationItems = this.formPartsIds.sectionFour.map(id => { + const validationItems = this.formPartsIds.sectionFour.map((id) => { return this.$refs[id].failedValidation(); }); this.$refs.formSectionFour.validate(); @@ -849,7 +843,7 @@ export default { }, createEntryData(section) { const sectionData = {}; - section.forEach(id => { + section.forEach((id) => { const data = this.$refs[id].getData(); if (typeof data === "object") { sectionData[id + ".other_option_response"] = @@ -872,12 +866,8 @@ export default { return sectionData; }, buildBody() { - const { - sectionOne, - sectionTwo, - sectionThree, - sectionFour - } = this.formPartsIds; + const { sectionOne, sectionTwo, sectionThree, sectionFour } = + this.formPartsIds; const sectionOneData = this.createEntryData(sectionOne); const sectionTwoData = this.createEntryData(sectionTwo); const sectionThreeData = this.createEntryData( @@ -890,7 +880,7 @@ export default { ...sectionTwoData, ...sectionThreeData, //...sectionFourData, - pageHistory: "0,1,2" // four pages in google form; this must match up with exact number of pages in google form + pageHistory: "0,1,2", // four pages in google form; this must match up with exact number of pages in google form }; return body; }, @@ -918,7 +908,7 @@ export default { .map(([key, val]) => { if (Array.isArray(val)) { let values = []; - val.forEach(value => { + val.forEach((value) => { if (value) { values.push(`${key}=${encodeURIComponent(value)}`); } @@ -932,11 +922,11 @@ export default { method: "POST", mode: "no-cors", headers: { - "Content-Type": "application/x-www-form-urlencoded" + "Content-Type": "application/x-www-form-urlencoded", }, - body + body, }); - } + }, }, computed: { tab1Completed() { @@ -950,8 +940,8 @@ export default { }, tab4Completed() { return !["tab-1", "tab-2", "tab-3", "tab-4"].includes(this.currentTab); - } - } + }, + }, }; </script> diff --git a/src/views/PartyBusOnboardingFAQs.vue b/src/views/PartyBusOnboardingFAQs.vue index 7818a9af..f3ca5848 100644 --- a/src/views/PartyBusOnboardingFAQs.vue +++ b/src/views/PartyBusOnboardingFAQs.vue @@ -18,21 +18,21 @@ </template> <script> import PageHeader from "@/components/PageHeader"; -import { PageMeta } from "@/constants/PageMeta" +import { PageMeta } from "@/constants/PageMeta"; import FAQsSection from "@/components/PartyBus/Onboarding/FAQs/FAQsSection"; export default { name: "PartyBusOnboardingFAQs", components: { PageHeader, - FAQsSection + FAQsSection, }, data() { return { PageMetaFaq: PageMeta.PartyBusOnboardingFAQs, - searchText: "" + searchText: "", }; - } + }, }; </script> <style lang="scss"> diff --git a/src/views/Resources.vue b/src/views/Resources.vue index bb7da6e0..f15b29ba 100644 --- a/src/views/Resources.vue +++ b/src/views/Resources.vue @@ -29,22 +29,22 @@ </div> <div v-if="resources"> - <ResourcesLinks :links="this.resourcesLinks"/> + <ResourcesLinks :links="this.resourcesLinks" /> </div> <div v-if="bigBang"> - <ResourcesLinks :links="this.bigBangLinks"/> + <ResourcesLinks :links="this.bigBangLinks" /> </div> <div v-if="cnap"> - <ResourcesLinks :links="this.cnapLinks"/> + <ResourcesLinks :links="this.cnapLinks" /> </div> <div v-if="cyber"> - <ResourcesLinks :links="this.cyberLinks"/> + <ResourcesLinks :links="this.cyberLinks" /> </div> <div v-if="ironBank"> - <ResourcesLinks :links="this.ironBankLinks"/> + <ResourcesLinks :links="this.ironBankLinks" /> </div> <div v-if="partyBus"> - <ResourcesLinks :links="this.partyBusLinks"/> + <ResourcesLinks :links="this.partyBusLinks" /> </div> <div class="container"> @@ -154,7 +154,7 @@ export default { ResourcesVideos, ResourcesCard, ResourcesLinks, - Wave + Wave, }, methods: { changeState(state) { @@ -168,7 +168,7 @@ export default { }, getClassState(prop) { return this[prop]; - } + }, }, data: () => { return { @@ -185,33 +185,33 @@ export default { { name: "Platform One", prop: "resources", - selector: "rsrc" + selector: "rsrc", }, { name: "Iron Bank", prop: "ironBank", - selector: "ib" + selector: "ib", }, { name: "Big Bang", prop: "bigBang", - selector: "bb" + selector: "bb", }, { name: "Party Bus", prop: "partyBus", - selector: "pb" + selector: "pb", }, { name: "CNAP", prop: "cnap", - selector: "cnap" + selector: "cnap", }, { name: "CYBER", prop: "cyber", - selector: "cyber" - } + selector: "cyber", + }, ], resourcesLinks: [ { @@ -219,41 +219,39 @@ export default { icon: "pdf", download: true, selector: "download", - path: - "https://dl.dod.cyber.mil/wp-content/uploads/devsecops/pdf/Final_DevSecOps_Enterprise_Container_Hardening_Guide_1.1.pdf" + path: "https://dl.dod.cyber.mil/wp-content/uploads/devsecops/pdf/Final_DevSecOps_Enterprise_Container_Hardening_Guide_1.1.pdf", }, { name: "DCCSR Repository", icon: "link", download: false, - path: "https://repo1.dso.mil/" + path: "https://repo1.dso.mil/", }, { name: "DevSecOps/DAU Training", icon: "link", download: false, - path: "https://software.af.mil/training/" + path: "https://software.af.mil/training/", }, { name: "DevSecOps Reference Des.", icon: "pdf", download: true, selector: "download", - path: - "https://software.af.mil/wp-content/uploads/2021/05/DoD-Enterprise-DevSecOps-Reference-Design-v2.0-CNCF-Kubernetes.pdf" + path: "https://software.af.mil/wp-content/uploads/2021/05/DoD-Enterprise-DevSecOps-Reference-Design-v2.0-CNCF-Kubernetes.pdf", }, { name: "Memorandum Distribution", icon: "link", download: false, - path: "https://software.af.mil/dsop/documents/" + path: "https://software.af.mil/dsop/documents/", }, { name: "P1 Tool Chain", icon: "link", download: false, - path: "https://p1.dso.mil/img/P1%20-%20Tool%20Chain-2.e5046f01.jpg" - } + path: "https://p1.dso.mil/img/P1%20-%20Tool%20Chain-2.e5046f01.jpg", + }, ], bigBangLinks: [ { @@ -261,40 +259,35 @@ export default { icon: "link", download: false, - path: - "https://repo1.dso.mil/platform-one/big-bang/bigbang/-/blob/master/docs/understanding_bigbang/licensing_expectations.md" + path: "https://repo1.dso.mil/platform-one/big-bang/bigbang/-/blob/master/docs/understanding_bigbang/licensing_expectations.md", }, { name: "Big Bang Quick Start Quide", - path: - "https://repo1.dso.mil/platform-one/big-bang/bigbang#getting-started", + path: "https://repo1.dso.mil/platform-one/big-bang/bigbang#getting-started", icon: "link", - download: false + download: false, }, { name: "Big Bang Release Notes", - path: - "https://repo1.dso.mil/platform-one/big-bang/bigbang/-/releases", + path: "https://repo1.dso.mil/platform-one/big-bang/bigbang/-/releases", icon: "link", - download: false + download: false, }, { name: "Deployment Scenarios", - path: - "https://repo1.dso.mil/platform-one/big-bang/bigbang/-/tree/master/docs/guides/deployment_scenarios", + path: "https://repo1.dso.mil/platform-one/big-bang/bigbang/-/tree/master/docs/guides/deployment_scenarios", icon: "link", - download: false - } + download: false, + }, ], cnapLinks: [ { name: "CNAP Reference Design", - path: - "https://software.af.mil/wp-content/uploads/2021/08/CNAP-RefDesign_ver-1.0-Approved-for-Public-Release.pdf", + path: "https://software.af.mil/wp-content/uploads/2021/08/CNAP-RefDesign_ver-1.0-Approved-for-Public-Release.pdf", icon: "pdf", download: true, - selector: "download" - } + selector: "download", + }, ], cyberLinks: [ { @@ -302,51 +295,49 @@ export default { path: "/products/cybersecurity/DSOPTimeline", icon: "link", download: false, - relativeURL: true + relativeURL: true, }, { name: "DORA DevOps Report", - path: - "https://services.google.com/fh/files/misc/state-of-devops-2019.pdf", + path: "https://services.google.com/fh/files/misc/state-of-devops-2019.pdf", icon: "pdf", download: true, - selector: "download" + selector: "download", }, { name: "CtF Requirements", path: "/products/cybersecurity/ctf", icon: "link", relativeURL: true, - download: false + download: false, }, { name: "cATO Process", path: "/products/cybersecurity/cato", icon: "link", download: false, - relativeURL: true - } + relativeURL: true, + }, ], ironBankLinks: [ { name: "Iron Bank Pipeline", icon: "link", download: false, - path: "https://p1.dso.mil/img/IBVS_pipeline.5387a502.png" + path: "https://p1.dso.mil/img/IBVS_pipeline.5387a502.png", }, { name: "Onboarding Guide", icon: "link", download: false, - path: "https://repo1.dso.mil/dsop/dccscr" + path: "https://repo1.dso.mil/dsop/dccscr", }, { name: "Onboarding Checklist", icon: "pdf", download: true, selector: "download", - path: - "https://repo1.dso.mil/platform-one/bullhorn-delivery-static-assets/-/raw/master/p1/docs/Iron%20Bank%20Container%20Hardening%20Checklist.pdf?inline=false" + path: "https://repo1.dso.mil/platform-one/bullhorn-delivery-static-assets/-/raw/master/p1/docs/Iron%20Bank%20Container%20Hardening%20Checklist.pdf?inline=false", }, { name: "Onboarding Presentation", @@ -354,15 +345,14 @@ export default { icon: "pdf", download: true, selector: "download", - path: - "https://repo1.dso.mil/platform-one/bullhorn-delivery-static-assets/-/raw/master/p1/docs/Iron%20Bank%20Onboarding%20Presentation.pdf?inline=false" + path: "https://repo1.dso.mil/platform-one/bullhorn-delivery-static-assets/-/raw/master/p1/docs/Iron%20Bank%20Onboarding%20Presentation.pdf?inline=false", }, { name: "Pulling Containers", icon: "link", download: false, - path: "https://p1.dso.mil/img/IBVS_registry1_process.822d1b39.png" - } + path: "https://p1.dso.mil/img/IBVS_registry1_process.822d1b39.png", + }, ], partyBusLinks: [ { @@ -371,7 +361,7 @@ export default { icon: "link", download: false, path: "/products/party-bus/service-catalog", - relativeURL: true + relativeURL: true, }, { name: "PB Process", @@ -379,31 +369,31 @@ export default { icon: "link", download: false, path: "/img/Party_Bus_Graphics_Process.d6c8fc0f.png", - relativeURL: true + relativeURL: true, }, { name: "PB 3-Day Workshop", icon: "link", download: false, path: "/products/party-bus/onboarding/3-day-workshop", - relativeURL: true + relativeURL: true, }, { name: "Self-Directed Onboarding", icon: "link", download: false, - path: "https://learn-2.galvanize.com/cohorts/fbc9761c8f97c752ea" + path: "https://learn-2.galvanize.com/cohorts/fbc9761c8f97c752ea", }, { name: "Project Manager Workshop", icon: "link", download: false, path: "/products/party-bus/onboarding/pm-workshop", - relativeURL: true - } - ] + relativeURL: true, + }, + ], }; - } + }, }; </script> diff --git a/src/views/cATO.vue b/src/views/cATO.vue index fba9df30..3e2c86cf 100644 --- a/src/views/cATO.vue +++ b/src/views/cATO.vue @@ -65,7 +65,7 @@ <Wave :bgImageOverwrite="Background" :bottom="false" :top="false"> <h2 class="mb-6 mt-n6">COMPONENTS TO cATO</h2> - <div class="row justify-content-center "> + <div class="row justify-content-center"> <div class="col-md-4 mx-16"> <div class="mb-16"> <h4 class="ml-n8 text-left">FOCUS ON THE MISSION</h4> @@ -85,7 +85,7 @@ </body> </div> </div> - <div class="col-md-4 text-left mx-16"> + <div class="col-md-4 text-left mx-16"> <div class="mb-16"> <h4 class="ml-n8 text-left">DEVSECOPS</h4> <body class="text-left white--text"> @@ -109,7 +109,7 @@ <v-container class="justify-content-center px-8 fluid my-16"> <div class="row justify-content-center"> <h2>cATO METHOD</h2> - <v-card class="mb-16 py-12 px-8"> + <v-card class="mb-16 py-12 px-8"> <div class="row"> <div class="col-md-6"> <img @@ -212,15 +212,15 @@ export default { name: "cATO", components: { PageHeader, - Wave + Wave, }, data() { return { Background, - PageMetaCATO: PageMeta.CATO + PageMetaCATO: PageMeta.CATO, }; - } + }, }; </script> <style lang="scss"> diff --git a/tests/e2e/specs/links.js b/tests/e2e/specs/links.js index f96eae21..20656456 100644 --- a/tests/e2e/specs/links.js +++ b/tests/e2e/specs/links.js @@ -1,9 +1,21 @@ // https://docs.cypress.io/api/introduction/api.html -const mainLinks = [PageMeta.Resources, PageMeta.WhoWeAre, PageMeta.ContactUs, PageMeta.Services, PageMeta.Home] -const productLinks = [PageMeta.IronBank, PageMeta.PartyBus, PageMeta.BigBang, PageMeta.CNAP, PageMeta.Cybersecurity] +const mainLinks = [ + PageMeta.Resources, + PageMeta.WhoWeAre, + PageMeta.ContactUs, + PageMeta.Services, + PageMeta.Home, +]; +const productLinks = [ + PageMeta.IronBank, + PageMeta.PartyBus, + PageMeta.BigBang, + PageMeta.CNAP, + PageMeta.Cybersecurity, +]; const selectors = ["ib", "pb", "bb", "cnap", "cyber"]; -import { PageMeta } from "../../../src/constants/PageMeta" +import { PageMeta } from "../../../src/constants/PageMeta"; describe("Verifying Pageheader links", () => { it("Visits the main links in Desktop View", () => { @@ -37,17 +49,19 @@ describe("Verifying Pageheader links", () => { it("Visits internal links from Services page", () => { cy.viewport(1024, 768); cy.visit(PageMeta.Services.path); - cy.get('[data-cy=bb]').within(() => { + cy.get("[data-cy=bb]").within(() => { cy.contains(PageMeta.BigBang.title).click(); }); cy.verifyUrlAndHeader(PageMeta.BigBang.path, PageMeta.BigBang.title); cy.go("back"); - cy.get('[data-cy=pb]').click(); - cy.verifyUrlAndHeader(PageMeta.PartyBusOnboarding.path, + cy.get("[data-cy=pb]").click(); + cy.verifyUrlAndHeader( + PageMeta.PartyBusOnboarding.path, PageMeta.PartyBusOnboarding.title ); cy.contains("GET ANSWERS").click(); - cy.verifyUrlAndHeader(PageMeta.PartyBusOnboardingFAQs.path, + cy.verifyUrlAndHeader( + PageMeta.PartyBusOnboardingFAQs.path, PageMeta.PartyBusOnboardingFAQs.title ); }); @@ -55,27 +69,21 @@ describe("Verifying Pageheader links", () => { it("Visits internal links from Resources page ", () => { cy.viewport(1024, 768); cy.visit(PageMeta.Resources.path); - cy.get(".v-btn") - .contains(PageMeta.ContactUs.title) - .click(); + cy.get(".v-btn").contains(PageMeta.ContactUs.title).click(); cy.verifyUrlAndHeader(PageMeta.ContactUs.path, PageMeta.ContactUs.title); }); it("Visits internal links from Contact Us page", () => { cy.viewport(1024, 768); cy.visit(PageMeta.ContactUs.path); - cy.get(".v-btn") - .contains("Residency Program") - .click(); + cy.get(".v-btn").contains("Residency Program").click(); cy.verifyUrlAndHeader(PageMeta.Residency.path, PageMeta.Residency.title); }); it("Visits internal links from Iron Bank page", () => { cy.viewport(1024, 768); cy.visit(PageMeta.IronBank.path); - cy.get(".v-btn") - .contains("Iron Bank Onboarding Request") - .click(); + cy.get(".v-btn").contains("Iron Bank Onboarding Request").click(); cy.verifyUrlAndHeader( PageMeta.IronBankGettingStarted.path, PageMeta.IronBankGettingStarted.title diff --git a/tests/e2e/support/index.js b/tests/e2e/support/index.js index 450f2272..61a0608d 100644 --- a/tests/e2e/support/index.js +++ b/tests/e2e/support/index.js @@ -19,11 +19,11 @@ import "./commands"; // require('./commands') // Fails tests on console errors -Cypress.on("window:before:load", win => { - cy.stub(win.console, "error").callsFake(msg => { +Cypress.on("window:before:load", (win) => { + cy.stub(win.console, "error").callsFake((msg) => { // log out to the terminal - cy.now("task", "error", msg) + cy.now("task", "error", msg); // log to Command Log and fail the test - throw new Error(msg) - }) -}) + throw new Error(msg); + }); +}); -- GitLab