8aab968e09
Build & Deploy / Build & Push Docker Image (push) Successful in 1m2s
Test / Type Check (all packages) (push) Failing after 28s
Test / API Unit Tests (push) Has been skipped
Test / Homepage Unit Tests (push) Has been skipped
Test / Storefront Unit Tests (push) Has been skipped
Test / Admin Unit Tests (push) Has been skipped
Test / Dashboard Unit Tests (push) Has been skipped
Test / API Integration Tests (push) Has been skipped
Build & Deploy / Deploy to VPS (push) Successful in 3s
Comprehensive rename of all marketplace references to storefront: - API module: apps/api/src/modules/marketplace/ → storefront/ - Components: MarketplaceHeader → StorefrontHeader, MarketplaceShell → StorefrontShell, MarketplaceFooter → StorefrontFooter - Types: marketplace-homepage.ts → storefront-homepage.ts - Test files: employee-marketplace-* → employee-storefront-* - All source code identifiers, imports, route paths, and strings - Documentation (docs/), CI config (.gitlab-ci.yml), scripts - Dashboard, admin, storefront workspace references - Prisma field names preserved (isListedOnMarketplace, marketplaceRating, marketplaceFunnelEvent) as they map to database schema Validation: - API type-check: 0 errors - Storefront type-check: 0 errors - Dashboard type-check: 0 errors - Full monorepo type-check: only pre-existing admin TS18046
32 lines
1.4 KiB
TypeScript
32 lines
1.4 KiB
TypeScript
import React, { isValidElement } from 'react'
|
|
import { describe, expect, it } from 'vitest'
|
|
import FooterContentPage from '@/components/FooterContentPage'
|
|
import AppPrivacyEnPage from './app-privacy-en/page'
|
|
import AppPrivacyFrPage from './app-privacy-fr/page'
|
|
import AppPrivacyArPage from './app-privacy-ar/page'
|
|
import AppTermsEnPage from './app-tc-en/page'
|
|
import AppTermsFrPage from './app-tc-fr/page'
|
|
import AppTermsArPage from './app-tc-ar/page'
|
|
|
|
function expectPolicyPage(element: unknown, slug: string, forcedLanguage: string) {
|
|
expect(isValidElement(element)).toBe(true)
|
|
const page = element as React.ReactElement<Record<string, unknown>>
|
|
expect(page.type).toBe(FooterContentPage)
|
|
expect(page.props.slug).toBe(slug)
|
|
expect(page.props.forcedLanguage).toBe(forcedLanguage)
|
|
}
|
|
|
|
describe('storefront static app policy pages', () => {
|
|
it('binds app privacy pages to explicit locales', () => {
|
|
expectPolicyPage(AppPrivacyEnPage(), 'privacy-policy', 'en')
|
|
expectPolicyPage(AppPrivacyFrPage(), 'privacy-policy', 'fr')
|
|
expectPolicyPage(AppPrivacyArPage(), 'privacy-policy', 'ar')
|
|
})
|
|
|
|
it('binds app terms pages to explicit locales and the app terms content slug', () => {
|
|
expectPolicyPage(AppTermsEnPage(), 'general-conditions', 'en')
|
|
expectPolicyPage(AppTermsFrPage(), 'general-conditions', 'fr')
|
|
expectPolicyPage(AppTermsArPage(), 'general-conditions', 'ar')
|
|
})
|
|
})
|