Skip to content

Commit 392d3ca

Browse files
committed
mocks
1 parent 820a166 commit 392d3ca

File tree

4 files changed

+51
-85
lines changed

4 files changed

+51
-85
lines changed

special-pages/pages/new-tab/app/mock-transport.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,8 @@ export function mockTransport() {
315315
const int = setInterval(() => {
316316
if (inc === max) return clearInterval(int);
317317
const next = {
318-
...privacyStatsMocks.willUpdate,
319-
trackerCompanies: privacyStatsMocks.willUpdate.trackerCompanies.map((x, index) => {
318+
...privacyStatsMocks.few,
319+
trackerCompanies: privacyStatsMocks.few.trackerCompanies.map((x, index) => {
320320
return {
321321
...x,
322322
count: x.count + inc * index,
Lines changed: 33 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { h } from 'preact';
1+
import { Fragment, h } from 'preact';
22
import { PrivacyStatsMockProvider } from '../mocks/PrivacyStatsMockProvider.js';
33
import { PrivacyStatsBody } from './PrivacyStats.js';
44
import { privacyStatsMocks } from '../mocks/privacy-stats.mocks.js';
@@ -14,34 +14,6 @@ export const privacyStatsExamples = {
1414
</PrivacyStatsMockProvider>
1515
),
1616
},
17-
'stats.many': {
18-
factory: () => (
19-
<PrivacyStatsMockProvider ticker={true} data={privacyStatsMocks.many}>
20-
<PrivacyStatsConsumer />
21-
</PrivacyStatsMockProvider>
22-
),
23-
},
24-
'stats.topAndOneOther': {
25-
factory: () => (
26-
<PrivacyStatsMockProvider ticker={true} data={privacyStatsMocks.topAndOneOther}>
27-
<PrivacyStatsConsumer />
28-
</PrivacyStatsMockProvider>
29-
),
30-
},
31-
'stats.onlyTop': {
32-
factory: () => (
33-
<PrivacyStatsMockProvider ticker={true} data={privacyStatsMocks.onlyTop}>
34-
<PrivacyStatsConsumer />
35-
</PrivacyStatsMockProvider>
36-
),
37-
},
38-
'stats.onlyOther': {
39-
factory: () => (
40-
<PrivacyStatsMockProvider ticker={true} data={privacyStatsMocks.onlyother}>
41-
<PrivacyStatsConsumer />
42-
</PrivacyStatsMockProvider>
43-
),
44-
},
4517
'stats.few.collapsed': {
4618
factory: () => (
4719
<PrivacyStatsMockProvider config={{ expansion: 'collapsed' }}>
@@ -78,30 +50,40 @@ export const privacyStatsExamples = {
7850
};
7951

8052
export const otherPrivacyStatsExamples = {
81-
'stats.without-animation': {
82-
factory: () => (
83-
<PrivacyStatsMockProvider
84-
ticker={true}
85-
config={{
86-
expansion: 'expanded',
87-
animation: { kind: 'none' },
88-
}}
89-
>
90-
<PrivacyStatsConsumer />
91-
</PrivacyStatsMockProvider>
92-
),
53+
'stats.all': {
54+
factory: () => {
55+
const names = Object.keys(privacyStatsMocks);
56+
return (
57+
<Fragment>
58+
{names.map((key) => {
59+
return (
60+
<Fragment key={key}>
61+
<h2>{key}</h2>
62+
<br />
63+
<PrivacyStatsMockProvider data={privacyStatsMocks[key]}>
64+
<PrivacyStatsConsumer />
65+
</PrivacyStatsMockProvider>
66+
</Fragment>
67+
);
68+
})}
69+
</Fragment>
70+
);
71+
},
9372
},
94-
'stats.with-view-transitions': {
73+
'stats.manyTopAndOther': {
9574
factory: () => (
96-
<PrivacyStatsMockProvider
97-
ticker={true}
98-
config={{
99-
expansion: 'expanded',
100-
animation: { kind: 'view-transitions' },
101-
}}
102-
>
103-
<PrivacyStatsConsumer />
104-
</PrivacyStatsMockProvider>
75+
<Fragment>
76+
<h2>manyOnlyTop</h2>
77+
<br />
78+
<PrivacyStatsMockProvider data={privacyStatsMocks.manyTopAndOther}>
79+
<PrivacyStatsConsumer />
80+
</PrivacyStatsMockProvider>
81+
<h2>manyOnlyTop + body expanded</h2>
82+
<br />
83+
<PrivacyStatsMockProvider data={privacyStatsMocks.manyTopAndOther} bodyExpansion={'expanded'}>
84+
<PrivacyStatsConsumer />
85+
</PrivacyStatsMockProvider>
86+
</Fragment>
10587
),
10688
},
10789
};

special-pages/pages/new-tab/app/privacy-stats/mocks/PrivacyStatsMockProvider.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,15 @@ import { BodyExpansionContext, BodyExpansionApiContext } from '../components/Bod
2121
* @param {Object} props - The props object containing the data.
2222
* @param {import("preact").ComponentChild} [props.children] - The children elements to be rendered.
2323
* @param {StatsConfig} [props.config]
24+
* @param {Expansion} [props.bodyExpansion]
2425
* @param {PrivacyStatsData} [props.data]
2526
* @param {boolean} [props.ticker] - if true, gradually increment the count of the first company, for testing
2627
*
2728
*/
2829
export function PrivacyStatsMockProvider({
2930
data = privacyStatsMocks.few,
3031
config = { expansion: 'expanded', animation: { kind: 'auto-animate' } },
32+
bodyExpansion = 'collapsed',
3133
ticker = false,
3234
children,
3335
}) {
@@ -67,7 +69,7 @@ export function PrivacyStatsMockProvider({
6769
}
6870
}, [state.config?.expansion]);
6971

70-
const [bodyExpansion, setBodyExpansion] = useState(/** @type {Expansion} */ ('collapsed'));
72+
const [bodyExpansionState, setBodyExpansion] = useState(bodyExpansion);
7173
const showMore = useCallback(() => {
7274
setBodyExpansion('expanded');
7375
}, []);
@@ -78,7 +80,7 @@ export function PrivacyStatsMockProvider({
7880
return (
7981
<PrivacyStatsContext.Provider value={{ state, toggle }}>
8082
<PrivacyStatsDispatchContext.Provider value={send}>
81-
<BodyExpansionContext.Provider value={bodyExpansion}>
83+
<BodyExpansionContext.Provider value={bodyExpansionState}>
8284
<BodyExpansionApiContext.Provider value={{ showMore, showLess }}>{children}</BodyExpansionApiContext.Provider>
8385
</BodyExpansionContext.Provider>
8486
</PrivacyStatsDispatchContext.Provider>

special-pages/pages/new-tab/app/privacy-stats/mocks/privacy-stats.mocks.js

Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,18 @@ import { DDG_STATS_OTHER_COMPANY_IDENTIFIER } from '../constants.js';
22

33
/**
44
* @import { PrivacyStatsData } from "../../../types/new-tab";
5-
* @type {Record<string, PrivacyStatsData>}
5+
* @type {{
6+
* few: PrivacyStatsData,
7+
* single: PrivacyStatsData,
8+
* norecent: PrivacyStatsData,
9+
* none: PrivacyStatsData,
10+
* onlyother: PrivacyStatsData,
11+
* manyOnlyTop: PrivacyStatsData,
12+
* fewOnlyTop: PrivacyStatsData,
13+
* topAndOneOther: PrivacyStatsData,
14+
* manyTopAndOther: PrivacyStatsData,
15+
* many: PrivacyStatsData,
16+
* }}
617
*/
718
export const privacyStatsMocks = {
819
few: {
@@ -164,35 +175,6 @@ export const privacyStatsMocks = {
164175
},
165176
],
166177
},
167-
willUpdate: {
168-
totalCount: 481_113,
169-
trackerCompanies: [
170-
{
171-
displayName: 'Facebook',
172-
count: 1,
173-
},
174-
{
175-
displayName: 'Google',
176-
count: 1,
177-
},
178-
{
179-
displayName: DDG_STATS_OTHER_COMPANY_IDENTIFIER,
180-
count: 1,
181-
},
182-
{
183-
displayName: 'Amazon.com',
184-
count: 1,
185-
},
186-
{
187-
displayName: 'Google Ads',
188-
count: 1,
189-
},
190-
],
191-
},
192-
growing: {
193-
totalCount: 0,
194-
trackerCompanies: [],
195-
},
196178
many: {
197179
totalCount: 890,
198180
trackerCompanies: [

0 commit comments

Comments
 (0)