@teambit/tester 1.0.810 → 1.0.812
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.812/dist/tester.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.812/dist/tester.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -172,6 +172,8 @@ class TesterUI {
|
|
|
172
172
|
component: function badge({
|
|
173
173
|
legacyComponentModel
|
|
174
174
|
}) {
|
|
175
|
+
const location = (0, _baseReactNavigation().useLocation)();
|
|
176
|
+
const search = location?.search ?? '';
|
|
175
177
|
const {
|
|
176
178
|
data
|
|
177
179
|
} = (0, _client().useQuery)(GET_COMPONENT, {
|
|
@@ -181,7 +183,7 @@ class TesterUI {
|
|
|
181
183
|
});
|
|
182
184
|
if (!data || !data.getHost || !data.getHost.getTests) return null;
|
|
183
185
|
const total = data.getHost.getTests.testsResults?.coverage?.total;
|
|
184
|
-
if (!total) return null;
|
|
186
|
+
if (!total || !total.lines) return null;
|
|
185
187
|
return /*#__PURE__*/_react().default.createElement(_designUi2().Tooltip, {
|
|
186
188
|
className: _coverageLabelModule().default.coverageTooltip,
|
|
187
189
|
placement: "top",
|
|
@@ -189,7 +191,7 @@ class TesterUI {
|
|
|
189
191
|
className: _coverageLabelModule().default.coverageTooltipContent
|
|
190
192
|
}, "Test coverage")
|
|
191
193
|
}, /*#__PURE__*/_react().default.createElement(_baseReactNavigation().Link, {
|
|
192
|
-
href: `~tests${
|
|
194
|
+
href: `~tests${search}`,
|
|
193
195
|
className: _coverageLabelModule().default.link
|
|
194
196
|
}, /*#__PURE__*/_react().default.createElement(_designUi().PillLabel, {
|
|
195
197
|
className: _coverageLabelModule().default.label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_harmony","_component","_defenderUi","_componentCompare","_defenderUi2","_docs","_client","_designUi","_designUi2","_evangelistElements","_baseReactNavigation","_tests","_tester","_coverageLabelModule","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GET_COMPONENT","gql","TesterUI","constructor","component","emptyStateSlot","registerEmptyState","emptyStateComponent","register","getTesterCompare","createElement","CompareTests","emptyState","provider","componentCompare","docs","config","testerUi","section","TestsSection","testerCompareSection","TestCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","registerTitleBadge","badge","legacyComponentModel","useQuery","variables","id","toString","getHost","getTests","total","testsResults","coverage","Tooltip","className","styles","coverageTooltip","placement","content","coverageTooltipContent","Link","href","document","location","search","link","PillLabel","label","Icon","of","lines","pct","weight","exports","ComponentAspect","ComponentCompareAspect","DocsAspect","UIRuntime","Slot","withType","_default","TesterAspect","addRuntime"],"sources":["tester.ui.runtime.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport React from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { ComponentModel, ComponentUI } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport { CompareTests } from '@teambit/defender.ui.test-compare';\nimport type { ComponentCompareUI } from '@teambit/component-compare';\nimport { ComponentCompareAspect } from '@teambit/component-compare';\nimport { TestCompareSection } from '@teambit/defender.ui.test-compare-section';\nimport type { DocsUI } from '@teambit/docs';\nimport { DocsAspect } from '@teambit/docs';\nimport { gql, useQuery } from '@apollo/client';\nimport { PillLabel } from '@teambit/design.ui.pill-label';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { Icon } from '@teambit/evangelist.elements.icon';\nimport { Link } from '@teambit/base-react.navigation.link';\nimport { TestsSection } from './tests.section';\nimport { TesterAspect } from './tester.aspect';\nimport styles from './coverage-label.module.scss';\n\nconst GET_COMPONENT = gql`\n query ($id: String!) {\n getHost {\n id # for GQL caching\n getTests(id: $id) {\n loading\n testsResults {\n coverage {\n total {\n lines {\n covered\n total\n pct\n }\n }\n }\n }\n }\n }\n }\n`;\n\nexport type EmptyStateSlot = SlotRegistry<ComponentType>;\nexport class TesterUI {\n static dependencies = [ComponentAspect, ComponentCompareAspect, DocsAspect];\n\n static runtime = UIRuntime;\n\n stageKey?: string;\n\n constructor(\n private component: ComponentUI,\n private emptyStateSlot: EmptyStateSlot\n ) {}\n\n /**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */\n registerEmptyState(emptyStateComponent: ComponentType) {\n this.emptyStateSlot.register(emptyStateComponent);\n return this;\n }\n\n getTesterCompare() {\n return <CompareTests emptyState={this.emptyStateSlot} />;\n }\n\n static slots = [Slot.withType<ComponentType>()];\n\n static async provider(\n [component, componentCompare, docs]: [ComponentUI, ComponentCompareUI, DocsUI],\n config,\n [emptyStateSlot]: [EmptyStateSlot]\n ) {\n const testerUi = new TesterUI(component, emptyStateSlot);\n const section = new TestsSection(emptyStateSlot);\n const testerCompareSection = new TestCompareSection(testerUi);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(testerCompareSection);\n componentCompare.registerRoutes([testerCompareSection.route]);\n docs.registerTitleBadge({\n component: function badge({ legacyComponentModel }: { legacyComponentModel: ComponentModel }) {\n const { data } = useQuery(GET_COMPONENT, {\n variables: { id: legacyComponentModel.id.toString() },\n });\n\n if (!data || !data.getHost || !data.getHost.getTests) return null;\n\n const total = data.getHost.getTests.testsResults?.coverage?.total as {\n lines: {\n covered: number;\n total: number;\n pct: number;\n };\n };\n\n if (!total) return null;\n\n return (\n <Tooltip\n className={styles.coverageTooltip}\n placement=\"top\"\n content={<div className={styles.coverageTooltipContent}>Test coverage</div>}\n >\n <Link href={`~tests${document.location.search}`} className={styles.link}>\n <PillLabel className={styles.label}>\n <Icon of=\"scan-component\" />\n <span>{total.lines.pct}%</span>\n </PillLabel>\n </Link>\n </Tooltip>\n );\n },\n weight: 30,\n });\n return testerUi;\n }\n}\n\nexport default TesterUI;\n\nTesterAspect.addRuntime(TesterUI);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_harmony","_component","_defenderUi","_componentCompare","_defenderUi2","_docs","_client","_designUi","_designUi2","_evangelistElements","_baseReactNavigation","_tests","_tester","_coverageLabelModule","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GET_COMPONENT","gql","TesterUI","constructor","component","emptyStateSlot","registerEmptyState","emptyStateComponent","register","getTesterCompare","createElement","CompareTests","emptyState","provider","componentCompare","docs","config","testerUi","section","TestsSection","testerCompareSection","TestCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","registerTitleBadge","badge","legacyComponentModel","location","useLocation","search","useQuery","variables","id","toString","getHost","getTests","total","testsResults","coverage","lines","Tooltip","className","styles","coverageTooltip","placement","content","coverageTooltipContent","Link","href","link","PillLabel","label","Icon","of","pct","weight","exports","ComponentAspect","ComponentCompareAspect","DocsAspect","UIRuntime","Slot","withType","_default","TesterAspect","addRuntime"],"sources":["tester.ui.runtime.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport React from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { ComponentModel, ComponentUI } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport { CompareTests } from '@teambit/defender.ui.test-compare';\nimport type { ComponentCompareUI } from '@teambit/component-compare';\nimport { ComponentCompareAspect } from '@teambit/component-compare';\nimport { TestCompareSection } from '@teambit/defender.ui.test-compare-section';\nimport type { DocsUI } from '@teambit/docs';\nimport { DocsAspect } from '@teambit/docs';\nimport { gql, useQuery } from '@apollo/client';\nimport { PillLabel } from '@teambit/design.ui.pill-label';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { Icon } from '@teambit/evangelist.elements.icon';\nimport { Link, useLocation } from '@teambit/base-react.navigation.link';\nimport { TestsSection } from './tests.section';\nimport { TesterAspect } from './tester.aspect';\nimport styles from './coverage-label.module.scss';\n\nconst GET_COMPONENT = gql`\n query ($id: String!) {\n getHost {\n id # for GQL caching\n getTests(id: $id) {\n loading\n testsResults {\n coverage {\n total {\n lines {\n covered\n total\n pct\n }\n }\n }\n }\n }\n }\n }\n`;\n\nexport type EmptyStateSlot = SlotRegistry<ComponentType>;\nexport class TesterUI {\n static dependencies = [ComponentAspect, ComponentCompareAspect, DocsAspect];\n\n static runtime = UIRuntime;\n\n stageKey?: string;\n\n constructor(\n private component: ComponentUI,\n private emptyStateSlot: EmptyStateSlot\n ) {}\n\n /**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */\n registerEmptyState(emptyStateComponent: ComponentType) {\n this.emptyStateSlot.register(emptyStateComponent);\n return this;\n }\n\n getTesterCompare() {\n return <CompareTests emptyState={this.emptyStateSlot} />;\n }\n\n static slots = [Slot.withType<ComponentType>()];\n\n static async provider(\n [component, componentCompare, docs]: [ComponentUI, ComponentCompareUI, DocsUI],\n config,\n [emptyStateSlot]: [EmptyStateSlot]\n ) {\n const testerUi = new TesterUI(component, emptyStateSlot);\n const section = new TestsSection(emptyStateSlot);\n const testerCompareSection = new TestCompareSection(testerUi);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(testerCompareSection);\n componentCompare.registerRoutes([testerCompareSection.route]);\n docs.registerTitleBadge({\n component: function badge({ legacyComponentModel }: { legacyComponentModel: ComponentModel }) {\n const location = useLocation();\n const search = location?.search ?? '';\n\n const { data } = useQuery(GET_COMPONENT, {\n variables: { id: legacyComponentModel.id.toString() },\n });\n\n if (!data || !data.getHost || !data.getHost.getTests) return null;\n\n const total = data.getHost.getTests.testsResults?.coverage?.total as\n | {\n lines?: {\n covered: number;\n total: number;\n pct: number;\n };\n }\n | undefined;\n\n if (!total || !total.lines) return null;\n\n return (\n <Tooltip\n className={styles.coverageTooltip}\n placement=\"top\"\n content={<div className={styles.coverageTooltipContent}>Test coverage</div>}\n >\n <Link href={`~tests${search}`} className={styles.link}>\n <PillLabel className={styles.label}>\n <Icon of=\"scan-component\" />\n <span>{total.lines.pct}%</span>\n </PillLabel>\n </Link>\n </Tooltip>\n );\n },\n weight: 30,\n });\n return testerUi;\n }\n}\n\nexport default TesterUI;\n\nTesterAspect.addRuntime(TesterUI);\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/tester",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.812",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/defender/tester",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.defender",
|
|
8
8
|
"name": "tester",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.812"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "4.1.2",
|
|
@@ -18,31 +18,31 @@
|
|
|
18
18
|
"cli-highlight": "2.1.9",
|
|
19
19
|
"junit-report-builder": "3.0.1",
|
|
20
20
|
"strip-ansi": "6.0.0",
|
|
21
|
-
"@teambit/cli": "0.0.
|
|
21
|
+
"@teambit/cli": "0.0.1286",
|
|
22
22
|
"@teambit/legacy.constants": "0.0.19",
|
|
23
|
-
"@teambit/logger": "0.0.
|
|
23
|
+
"@teambit/logger": "0.0.1379",
|
|
24
24
|
"@teambit/toolbox.time.timer": "0.0.8",
|
|
25
25
|
"@teambit/harmony": "0.4.7",
|
|
26
26
|
"@teambit/component-id": "1.2.4",
|
|
27
27
|
"@teambit/tests-results": "1.0.5",
|
|
28
28
|
"@teambit/component.sources": "0.0.138",
|
|
29
29
|
"@teambit/defender.ui.test-compare-section": "0.0.101",
|
|
30
|
-
"@teambit/defender.ui.test-compare": "0.0.
|
|
30
|
+
"@teambit/defender.ui.test-compare": "0.0.296",
|
|
31
31
|
"@teambit/design.ui.pill-label": "0.0.360",
|
|
32
|
-
"@teambit/design.ui.tooltip": "0.0.
|
|
32
|
+
"@teambit/design.ui.tooltip": "0.0.382",
|
|
33
33
|
"@teambit/evangelist.elements.icon": "1.0.5",
|
|
34
|
-
"@teambit/defender.ui.test-page": "0.0.
|
|
34
|
+
"@teambit/defender.ui.test-page": "0.0.74",
|
|
35
35
|
"@teambit/bit-error": "0.0.404",
|
|
36
|
-
"@teambit/workspace": "1.0.
|
|
37
|
-
"@teambit/envs": "1.0.
|
|
38
|
-
"@teambit/component": "1.0.
|
|
39
|
-
"@teambit/graphql": "1.0.
|
|
40
|
-
"@teambit/builder": "1.0.
|
|
41
|
-
"@teambit/dev-files": "1.0.
|
|
42
|
-
"@teambit/ui": "1.0.
|
|
43
|
-
"@teambit/compiler": "1.0.
|
|
44
|
-
"@teambit/component-compare": "1.0.
|
|
45
|
-
"@teambit/docs": "1.0.
|
|
36
|
+
"@teambit/workspace": "1.0.812",
|
|
37
|
+
"@teambit/envs": "1.0.812",
|
|
38
|
+
"@teambit/component": "1.0.812",
|
|
39
|
+
"@teambit/graphql": "1.0.812",
|
|
40
|
+
"@teambit/builder": "1.0.812",
|
|
41
|
+
"@teambit/dev-files": "1.0.812",
|
|
42
|
+
"@teambit/ui": "1.0.812",
|
|
43
|
+
"@teambit/compiler": "1.0.812",
|
|
44
|
+
"@teambit/component-compare": "1.0.812",
|
|
45
|
+
"@teambit/docs": "1.0.812"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/fs-extra": "9.0.7",
|
package/tester.ui.runtime.tsx
CHANGED
|
@@ -15,7 +15,7 @@ import { gql, useQuery } from '@apollo/client';
|
|
|
15
15
|
import { PillLabel } from '@teambit/design.ui.pill-label';
|
|
16
16
|
import { Tooltip } from '@teambit/design.ui.tooltip';
|
|
17
17
|
import { Icon } from '@teambit/evangelist.elements.icon';
|
|
18
|
-
import { Link } from '@teambit/base-react.navigation.link';
|
|
18
|
+
import { Link, useLocation } from '@teambit/base-react.navigation.link';
|
|
19
19
|
import { TestsSection } from './tests.section';
|
|
20
20
|
import { TesterAspect } from './tester.aspect';
|
|
21
21
|
import styles from './coverage-label.module.scss';
|
|
@@ -83,21 +83,26 @@ export class TesterUI {
|
|
|
83
83
|
componentCompare.registerRoutes([testerCompareSection.route]);
|
|
84
84
|
docs.registerTitleBadge({
|
|
85
85
|
component: function badge({ legacyComponentModel }: { legacyComponentModel: ComponentModel }) {
|
|
86
|
+
const location = useLocation();
|
|
87
|
+
const search = location?.search ?? '';
|
|
88
|
+
|
|
86
89
|
const { data } = useQuery(GET_COMPONENT, {
|
|
87
90
|
variables: { id: legacyComponentModel.id.toString() },
|
|
88
91
|
});
|
|
89
92
|
|
|
90
93
|
if (!data || !data.getHost || !data.getHost.getTests) return null;
|
|
91
94
|
|
|
92
|
-
const total = data.getHost.getTests.testsResults?.coverage?.total as
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
95
|
+
const total = data.getHost.getTests.testsResults?.coverage?.total as
|
|
96
|
+
| {
|
|
97
|
+
lines?: {
|
|
98
|
+
covered: number;
|
|
99
|
+
total: number;
|
|
100
|
+
pct: number;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
| undefined;
|
|
99
104
|
|
|
100
|
-
if (!total) return null;
|
|
105
|
+
if (!total || !total.lines) return null;
|
|
101
106
|
|
|
102
107
|
return (
|
|
103
108
|
<Tooltip
|
|
@@ -105,7 +110,7 @@ export class TesterUI {
|
|
|
105
110
|
placement="top"
|
|
106
111
|
content={<div className={styles.coverageTooltipContent}>Test coverage</div>}
|
|
107
112
|
>
|
|
108
|
-
<Link href={`~tests${
|
|
113
|
+
<Link href={`~tests${search}`} className={styles.link}>
|
|
109
114
|
<PillLabel className={styles.label}>
|
|
110
115
|
<Icon of="scan-component" />
|
|
111
116
|
<span>{total.lines.pct}%</span>
|