Skip to content

Commit

Permalink
- moved mixin-tester.vue from src/ to tests/
Browse files Browse the repository at this point in the history
- moved interceptors.ts from sbc-common to local plugins to fix Axios version issue
- other strict:true fixes
- fixed property visibility issue
- fixed catch clause variable issues
- capitalized some plugin functions (eg, navigate -> Navigate)
- fixed some visibility issues
- misc cleanup
  • Loading branch information
severinbeauvais committed Jun 26, 2023
1 parent c00c596 commit 7e149af
Show file tree
Hide file tree
Showing 28 changed files with 92 additions and 68 deletions.
8 changes: 4 additions & 4 deletions src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
// libraries, etc
import { Component, Mixins } from 'vue-property-decorator'
import { Action, Getter } from 'vuex-class'
import { getFeatureFlag } from '@/plugins'
import { GetFeatureFlag } from '@/plugins'
import { DateMixin, LoadKeycloakRolesMixin, NrAffiliationMixin, UpdateUserMixin } from '@/mixins'
import axios from 'axios'
Expand Down Expand Up @@ -177,7 +177,7 @@ export default class App extends Mixins(
}
get bannerText (): string | null {
const bannerText: string = getFeatureFlag('banner-text')
const bannerText: string = GetFeatureFlag('banner-text')
// remove spaces so that " " becomes falsy
return bannerText?.trim()
}
Expand Down Expand Up @@ -268,12 +268,12 @@ export default class App extends Mixins(
/** Whether the old webchat should be enabled. */
get enableOldWebchat (): boolean {
return !!getFeatureFlag('enable-web-chat')
return !!GetFeatureFlag('enable-web-chat')
}
/** Whether the Genesys web message should be enabled. */
get enableGenesysWebMessage (): boolean {
return !!getFeatureFlag('enable-genesys-web-message')
return !!GetFeatureFlag('enable-genesys-web-message')
}
}
</script>
Expand Down
4 changes: 2 additions & 2 deletions src/components/common/applicant-info-2.vue
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ import { Action, Getter } from 'vuex-class'
import { ApplicantI } from '@/interfaces'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import { CorpNumRequests, NrState, RequestCode } from '@/enums'
import { getFeatureFlag } from '@/plugins'
import { GetFeatureFlag } from '@/plugins'
@Component({
components: {
Expand Down Expand Up @@ -278,7 +278,7 @@ export default class ApplicantInfo2 extends Vue {
/** Whether priority checkbox should be enabled. */
get enablePriorityCheckbox (): boolean {
return !!getFeatureFlag('enable-priority-checkbox')
return !!GetFeatureFlag('enable-priority-checkbox')
}
mounted () {
Expand Down
4 changes: 2 additions & 2 deletions src/components/common/applicant-info-3.vue
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ import { FolioNumberInput } from '@bcrs-shared-components/folio-number-input'
import { ApplicantI, SubmissionTypeT } from '@/interfaces'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import { CorpNumRequests, Location, NrState, RequestCode } from '@/enums'
import { getFeatureFlag } from '@/plugins'
import { GetFeatureFlag } from '@/plugins'
@Component({
components: {
Expand Down Expand Up @@ -313,7 +313,7 @@ export default class ApplicantInfo3 extends Vue {
/** Whether priority checkbox should be enabled. */
get enablePriorityCheckbox (): boolean {
return !!getFeatureFlag('enable-priority-checkbox')
return !!GetFeatureFlag('enable-priority-checkbox')
}
mounted () {
Expand Down
19 changes: 10 additions & 9 deletions src/components/dialogs/cancel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import { Component, Mixins } from 'vue-property-decorator'
import { Action, Getter } from 'vuex-class'
import { PaymentMixin } from '@/mixins'
import { sleep } from '@/plugins'
import { Sleep } from '@/plugins'
import { NrAction } from '@/enums'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
Expand All @@ -57,13 +57,14 @@ export default class CancelDialog extends Mixins(PaymentMixin) {
@Action toggleCancelModal!: ActionBindingIF
/** Used to show loading state on button. */
private loading = false
loading = false
private get emailAddress (): string {
return this.getApplicant?.emailAddress
}
// FOR FUTURE USE
// get emailAddress (): string {
// return this.getApplicant?.emailAddress
// }
private get isVisible (): boolean {
get isVisible (): boolean {
return this.$store.getters[CANCEL_MODAL_IS_VISIBLE]
}
Expand All @@ -72,15 +73,15 @@ export default class CancelDialog extends Mixins(PaymentMixin) {
}
/** Called when user clicks "Cancel this NR" button. */
private async confirmCancel (): Promise<void> {
async confirmCancel (): Promise<void> {
this.loading = true
const data = await NamexServices.patchNameRequestsByAction(this.getNrId, NrAction.CANCEL)
if (data) {
this.setNameRequest(data)
this.loading = false
await this.hideModal()
this.setDisplayedComponent('Success')
await sleep(1000)
await Sleep(1000)
this.setDisplayedComponent('ExistingRequestDisplay')
} else {
this.loading = false
Expand All @@ -89,7 +90,7 @@ export default class CancelDialog extends Mixins(PaymentMixin) {
}
/** Called when user clicks "Keep this NR" button. */
private async hideModal (): Promise<void> {
async hideModal (): Promise<void> {
await this.toggleCancelModal(false)
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/components/dialogs/confirm-name-request.vue
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ import { getBaseUrl } from '@/components/payment/payment-utils'
import { NameChoicesIF } from '@/interfaces'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import { PaymentRequiredError } from '@/errors'
import { navigate } from '@/plugins'
import { Navigate } from '@/plugins'
@Component({
components: {
Expand Down Expand Up @@ -240,7 +240,7 @@ export default class ConfirmNrDialog extends Mixins(
if (paymentResponse.sbcPayment.isPaymentActionRequired) {
this.navigateToPaymentPortal(paymentToken, returnUrl)
} else {
navigate(returnUrl)
Navigate(returnUrl)
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/components/dialogs/renew.vue
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ import { PaymentMixin, PaymentSessionMixin, DisplayedComponentMixin } from '@/mi
import { getBaseUrl } from '@/components/payment/payment-utils'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import { PaymentRequiredError } from '@/errors'
import { navigate } from '@/plugins'
import { Navigate } from '@/plugins'
@Component({
components: {
Expand Down Expand Up @@ -207,7 +207,7 @@ export default class RenewDialog extends Mixins(
if (paymentResponse.sbcPayment.isPaymentActionRequired) {
this.navigateToPaymentPortal(paymentToken, returnUrl)
} else {
navigate(returnUrl)
Navigate(returnUrl)
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/components/dialogs/resubmit.vue
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ import { getBaseUrl } from '@/components/payment/payment-utils'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import NamexServices from '@/services/namex.services'
import { PaymentRequiredError } from '@/errors'
import { getFeatureFlag, navigate } from '@/plugins'
import { GetFeatureFlag, Navigate } from '@/plugins'
@Component({
components: {
Expand Down Expand Up @@ -163,7 +163,7 @@ export default class ResubmitDialog extends Mixins(
/** Whether priority checkbox should be enabled. */
get enablePriorityCheckbox (): boolean {
return getFeatureFlag('enable-priority-checkbox')
return GetFeatureFlag('enable-priority-checkbox')
}
/** Whether this modal should be shown (per store property). */
Expand Down Expand Up @@ -255,7 +255,7 @@ export default class ResubmitDialog extends Mixins(
if (paymentResponse.sbcPayment.isPaymentActionRequired) {
this.navigateToPaymentPortal(paymentToken, returnUrl)
} else {
navigate(returnUrl)
Navigate(returnUrl)
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/components/dialogs/upgrade.vue
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ import { PaymentMixin, PaymentSessionMixin, DisplayedComponentMixin } from '@/mi
import { getBaseUrl } from '@/components/payment/payment-utils'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import { PaymentRequiredError } from '@/errors'
import { navigate } from '@/plugins'
import { Navigate } from '@/plugins'
@Component({
components: {
Expand Down Expand Up @@ -200,7 +200,7 @@ export default class UpgradeDialog extends Mixins(
if (paymentResponse.sbcPayment.isPaymentActionRequired) {
this.navigateToPaymentPortal(paymentToken, returnUrl)
} else {
navigate(returnUrl)
Navigate(returnUrl)
}
}
Expand Down
8 changes: 4 additions & 4 deletions src/components/existing-request/existing-request-display.vue
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ import NrApprovedGrayBox from './nr-approved-gray-box.vue'
import NrNotApprovedGrayBox from './nr-not-approved-gray-box.vue'
import { NameState, NrAction, NrState, PaymentStatus, SbcPaymentStatus, PaymentAction, Furnished, RequestCode }
from '@/enums'
import { sleep, getFeatureFlag, navigate } from '@/plugins'
import { Sleep, GetFeatureFlag, Navigate } from '@/plugins'
import NamexServices from '@/services/namex.services'
import ContactInfo from '@/components/common/contact-info.vue'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
Expand Down Expand Up @@ -550,7 +550,7 @@ export default class ExistingRequestDisplay extends Mixins(
/** Whether Upgrade Priority button should be enabled. */
get enableUpgradeButton (): boolean {
return getFeatureFlag('enable-priority-checkbox')
return GetFeatureFlag('enable-priority-checkbox')
}
/** Returns True if the specified action button should be disabled. */
Expand Down Expand Up @@ -659,7 +659,7 @@ export default class ExistingRequestDisplay extends Mixins(
default:
if (await NamexServices.patchNameRequestsByAction(this.getNrId, action)) {
this.setDisplayedComponent('Success')
await sleep(1000)
await Sleep(1000)
this.setDisplayedComponent('ExistingRequestDisplay')
}
break
Expand Down Expand Up @@ -706,7 +706,7 @@ export default class ExistingRequestDisplay extends Mixins(
// navigate to BC Registry login page with return parameter
const registryHomeUrl = sessionStorage.getItem('REGISTRY_HOME_URL')
const nameRequestUrl = `${window.location.origin}`
navigate(`${registryHomeUrl}login?return=${nameRequestUrl}`)
Navigate(`${registryHomeUrl}login?return=${nameRequestUrl}`)
}
}
Expand Down
10 changes: 5 additions & 5 deletions src/components/new-request/stats.vue
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ import { Vue, Component } from 'vue-property-decorator'
import { Action, Getter } from 'vuex-class'
import { StatsI } from '@/interfaces'
import { getFeatureFlag } from '@/plugins'
import { GetFeatureFlag } from '@/plugins'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import NamexServices from '@/services/namex.services'
Expand All @@ -75,8 +75,8 @@ export default class Stats extends Vue {
async created (): Promise<void> {
if (
getFeatureFlag('hardcoded_regular_wait_time') === 0 ||
getFeatureFlag('hardcoded_priority_wait_time') === 0
GetFeatureFlag('hardcoded_regular_wait_time') === 0 ||
GetFeatureFlag('hardcoded_priority_wait_time') === 0
) {
const stats = await NamexServices.fetchStats()
if (stats) this.setStats(stats)
Expand All @@ -89,7 +89,7 @@ export default class Stats extends Vue {
/** The regular wait time, in days. */
get regularWaitTime (): string | number {
const regularWaitTime = getFeatureFlag('hardcoded_regular_wait_time')
const regularWaitTime = GetFeatureFlag('hardcoded_regular_wait_time')
if (regularWaitTime > 0) {
return regularWaitTime
} else {
Expand All @@ -99,7 +99,7 @@ export default class Stats extends Vue {
/** The priority wait time, in hours. */
get priorityWaitTime (): string | number {
const priorityWaitTime = getFeatureFlag('hardcoded_priority_wait_time')
const priorityWaitTime = GetFeatureFlag('hardcoded_priority_wait_time')
if (priorityWaitTime > 0) {
return priorityWaitTime
} else {
Expand Down
3 changes: 2 additions & 1 deletion src/components/new-request/submit-request/reserve-submit.vue
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ export default class ReserveSubmit extends Vue {
@Prop(String) readonly setup: string
private isContinue = true
// Local variable
isContinue = true
private mounted () {
this.$nextTick(() => {
Expand Down
6 changes: 3 additions & 3 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import App from './App.vue'
import Hotjar from 'vue-hotjar'
import { getVueRouter } from '@/router'
import { getVuexStore } from '@/store'
import { getConfig, getFeatureFlag, getVuetify, initLdClient, isSigningIn, isSigningOut } from '@/plugins'
import { getConfig, GetFeatureFlag, getVuetify, InitLdClient, isSigningIn, isSigningOut } from '@/plugins'
import KeycloakService from 'sbc-common-components/src/services/keycloak.services'
import * as Sentry from '@sentry/browser'
import * as Integrations from '@sentry/integrations'
Expand Down Expand Up @@ -44,7 +44,7 @@ async function startVue () {
Vue.prototype.$requestActions = RequestActions
Vue.prototype.$usaStateCodes = UsaStateCodes

if (getFeatureFlag('sentry-enable')) {
if (GetFeatureFlag('sentry-enable')) {
// Initialize Sentry
if (window['sentryDsn']) {
console.info('Initializing Sentry...') // eslint-disable-line no-console
Expand Down Expand Up @@ -79,7 +79,7 @@ async function startVue () {
// Initialize Launch Darkly
if (window['ldClientId']) {
console.info('Initializing Launch Darkly...') // eslint-disable-line no-console
await initLdClient()
await InitLdClient()
}

// Start Vue application
Expand Down
3 changes: 2 additions & 1 deletion src/mixins/load-keycloak-roles-mixin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ export class LoadKeycloakRolesMixin extends Vue {
const keycloakRoles = getKeycloakRoles()
this.setKeycloakRoles(keycloakRoles)
console.info('Got roles!') // eslint-disable-line no-console
} catch (error) {
} catch (err) {
const error = err as Error
// just log the error message
console.log(`Did not get roles (${error.message})`) // eslint-disable-line no-console
}
Expand Down
4 changes: 2 additions & 2 deletions src/mixins/nr-affiliation-mixin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import AuthServices from '@/services/auth.services'
import BusinessServices from '@/services/business.services'
import { BusinessRequest, NameRequestI } from '@/interfaces'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import { navigate } from '@/plugins'
import { Navigate } from '@/plugins'
import { CommonMixin } from '@/mixins'
import { NrAffiliationErrors } from '@/enums'
import { CREATED, BAD_REQUEST } from 'http-status-codes'
Expand Down Expand Up @@ -163,7 +163,7 @@ export class NrAffiliationMixin extends Mixins(CommonMixin) {
private goToEntityDashboard (businessId: string): void {
if (businessId) {
const dashboardUrl = sessionStorage.getItem('DASHBOARD_URL')
navigate(`${dashboardUrl}${businessId}`)
Navigate(`${dashboardUrl}${businessId}`)
}
}
}
7 changes: 4 additions & 3 deletions src/mixins/payment-mixin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { StaffPaymentIF, RefundParamsIF, NameRequestI } from '@/interfaces'
import { ActionBindingIF } from '@/interfaces/store-interfaces'
import NamexServices from '@/services/namex.services'
import { PaymentRequiredError } from '@/errors'
import { navigate } from '@/plugins'
import { Navigate } from '@/plugins'
import { appBaseURL } from '../router/router'

@Component({})
Expand Down Expand Up @@ -487,7 +487,7 @@ export class PaymentMixin extends Mixins(ActionMixin) {
navigateToPaymentPortal (paymentToken: string, returnUrl: string) {
const paymentPortalUrl = sessionStorage.getItem('PAYMENT_PORTAL_URL')
const url = `${paymentPortalUrl}${paymentToken}/${returnUrl}`
navigate(url)
Navigate(url)
}

/**
Expand Down Expand Up @@ -584,7 +584,8 @@ export class PaymentMixin extends Mixins(ActionMixin) {
return response.data
}
throw new Error(`Invalid response = ${response}`)
} catch (err) {
} catch (error) {
const err = error as any
if (err?.response?.status === PAYMENT_REQUIRED) {
throw new PaymentRequiredError(err)
}
Expand Down
12 changes: 6 additions & 6 deletions src/mixins/update-user-mixin.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Component, Vue } from 'vue-property-decorator'
import { updateLdUser } from '@/plugins'
import { UpdateLdUser } from '@/plugins'
import AuthServices from '@/services/auth.services'

@Component({})
Expand All @@ -20,13 +20,13 @@ export class UpdateUserMixin extends Vue {
/** Updates Launch Darkly with current user info. */
private async updateLaunchDarkly (userInfo: any): Promise<void> {
// since username is unique, use it as the user key
const key: string = userInfo.username
const email: string = userInfo.contacts[0]?.email || userInfo.email
const firstName: string = userInfo?.firstname
const lastName: string = userInfo?.lastname
const key = userInfo.username as string
const email = userInfo.contacts[0]?.email || userInfo.email as string
const firstName = userInfo?.firstname as string
const lastName = userInfo?.lastname as string
// remove leading { and trailing } and tokenize string
const custom: any = { roles: userInfo.roles?.slice(1, -1).split(',') }

return updateLdUser(key, email, firstName, lastName, custom)
return UpdateLdUser(key, email, firstName, lastName, custom)
}
}
Loading

0 comments on commit 7e149af

Please sign in to comment.