Skip to content

Commit b250d32

Browse files
V48 (impl-only): Green CI after responsiveness polish
Align marketing/footer unit assertions with split badge and Protocol spec title chrome. Point V47 packs/auxillaries dashboard source roots at Exchange (retired Packs product path) so gate predicates pass.
1 parent c173125 commit b250d32

3 files changed

Lines changed: 23 additions & 14 deletions

File tree

apps/uapi/tests/footerPublicShell.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ describe('Footer public shell', () => {
8585
expect(screen.getAllByText('Settle').length).toBeGreaterThan(0);
8686
expect(screen.getAllByText('🧪').length).toBeGreaterThan(0);
8787
const protocolSpecLink = screen.getByRole('link', { name: 'Protocol spec' });
88-
expect(protocolSpecLink).not.toHaveAttribute('title');
88+
// Phone chrome is icon-only; title + aria-label keep the control named.
89+
expect(protocolSpecLink).toHaveAttribute('title', 'Protocol spec');
8990
expect(protocolSpecLink).toHaveAttribute(
9091
'href',
9192
'https://github.com/advancedengineeredsoftware/Bitcode/blob/version/v48/Whitepaper.md',

apps/uapi/tests/marketingLandingPage.test.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,9 +224,11 @@ describe('MarketingLandingPage', () => {
224224

225225
const section = screen.getByTestId('landing-testnet-launch');
226226
expect(section).toBeInTheDocument();
227-
expect(
228-
screen.getByText(BITCODE_PUBLIC_COPY.testnetLaunch.badge),
229-
).toBeInTheDocument();
227+
// Badge splits across two spans on phone (Productionized / Protocol).
228+
const badge = BITCODE_PUBLIC_COPY.testnetLaunch.badge;
229+
expect(section.textContent ?? '').toMatch(
230+
new RegExp(badge.split(/\s+/).join('\\s*'), 'u'),
231+
);
230232
expect(
231233
screen.getByText((_, node) => {
232234
if (node?.tagName !== 'H2') return false;
@@ -235,8 +237,9 @@ describe('MarketingLandingPage', () => {
235237
).toBeInTheDocument();
236238
expect(screen.getByText('Code', { selector: 'h2 span' })).toBeInTheDocument();
237239
expect(screen.getByText('Coin', { selector: 'h2 span' })).toBeInTheDocument();
240+
// Phone + tablet meaning copy both render; any match is enough.
238241
expect(
239-
screen.getByText((_, node) => {
242+
screen.getAllByText((_, node) => {
240243
if (node?.tagName !== 'P') return false;
241244
const text = node.textContent ?? '';
242245
return (
@@ -245,8 +248,8 @@ describe('MarketingLandingPage', () => {
245248
text.includes('and Exchange') &&
246249
text.includes('ledgers, and the applications')
247250
);
248-
}),
249-
).toBeInTheDocument();
251+
}).length,
252+
).toBeGreaterThan(0);
250253
expect(screen.queryByText(/testnet/i)).toBeNull();
251254
expect(screen.queryByText(/on Bitcoin/i)).toBeNull();
252255
expect(screen.getByText('Website Application')).toBeInTheDocument();

scripts/specifying/src/canonical/v47-packs-auxillaries-commercial-dashboard.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,17 @@ const SOURCE_ROOTS = Object.freeze({
7474
notes: '.specifications/BITCODE_SPEC_V47_NOTES.md',
7575
parity: '.specifications/BITCODE_SPEC_V47_PARITY_MATRIX.md',
7676
roadmap: '.specifications/SPECIFICATIONS_ROADMAP.md',
77-
packsClient: 'apps/uapi/components/packs/PacksPageClient/PacksPageClient.tsx',
78-
packsActivityTable: 'apps/uapi/components/packs/PacksActivityTable/PacksActivityTable.tsx',
79-
packsActivityFilterBar: 'apps/uapi/components/packs/PacksActivityFilterBar/PacksActivityFilterBar.tsx',
80-
packsActivityDetailStates: 'apps/uapi/components/packs/PacksActivityDetailStates/PacksActivityDetailStates.tsx',
81-
packsPortfolioOverview: 'apps/uapi/components/packs/PacksPortfolioStrip/PacksPortfolioStrip.tsx',
82-
packsPage: 'apps/uapi/app/packs/page.tsx',
77+
// V48 retired product name "Packs" → Exchange. Surfaces live under components/exchange;
78+
// /packs remains a compatibility redirect. Predicate roots track the live client.
79+
packsClient: 'apps/uapi/components/exchange/ExchangePageClient/ExchangePageClient.tsx',
80+
packsActivityTable: 'apps/uapi/components/exchange/ExchangeActivityTable/ExchangeActivityTable.tsx',
81+
packsActivityFilterBar:
82+
'apps/uapi/components/exchange/ExchangeActivityFilterBar/ExchangeActivityFilterBar.tsx',
83+
packsActivityDetailStates:
84+
'apps/uapi/components/exchange/ExchangeActivityDetailStates/ExchangeActivityDetailStates.tsx',
85+
packsPortfolioOverview:
86+
'apps/uapi/components/exchange/ExchangePortfolioStrip/ExchangePortfolioStrip.tsx',
87+
packsPage: 'apps/uapi/app/exchange/page.tsx',
8388
packActivityModel: 'apps/uapi/components/bitcode/activity/PackActivityModel/pack-activity-model.ts',
8489
packsActivityApi: 'apps/uapi/app/api/packs/activity/route.ts',
8590
auxillariesPage: 'apps/uapi/app/auxillaries/page.tsx',
@@ -94,7 +99,7 @@ const SOURCE_ROOTS = Object.freeze({
9499
'apps/uapi/components/auxillaries/headers/AuxillariesWalletPaneHeader/AuxillariesWalletPaneHeader.tsx',
95100
auxillariesExternalsPane: 'apps/uapi/components/auxillaries/AuxillariesExternalsPane/AuxillariesExternalsPane.tsx',
96101
packActivityModelTest: 'apps/uapi/tests/packActivityModel.test.ts',
97-
packsClientTest: 'apps/uapi/tests/packsPageClient.test.tsx',
102+
packsClientTest: 'apps/uapi/tests/exchangePageClient.test.tsx',
98103
auxillariesWalletPaneTest: 'apps/uapi/tests/auxillariesWalletPane.test.tsx',
99104
auxillariesWorkspaceTest: 'apps/uapi/tests/auxillariesWorkspacePanels.test.tsx',
100105
packageJson: 'package.json',

0 commit comments

Comments
 (0)