Skip to content

Commit 5102958

Browse files
committed
add test
1 parent 1ec41ea commit 5102958

File tree

5 files changed

+79
-5
lines changed

5 files changed

+79
-5
lines changed

Diff for: packages/base/catalog-entry.gts

+3-3
Original file line numberDiff line numberDiff line change
@@ -131,19 +131,19 @@ export class CatalogEntry extends CardDef {
131131
<div class='container-code-ref'>
132132
<div class='row-code-ref'>
133133
<div class='row-code-ref-label'>URL</div>
134-
<div class='row-code-ref-value box'>
134+
<div class='row-code-ref-value box' data-test-module-href>
135135
{{@model.moduleHref}}
136136
</div>
137137
</div>
138138
<div class='row-code-ref'>
139139
<div class='row-code-ref-label'>Exported Name</div>
140140
<div class='row-code-ref-value box'>
141141
<div class='exported-row'>
142-
<div class='exported-name'>
142+
<div class='exported-name' data-test-exported-name>
143143
<DiagonalArrowLeftUp class='exported-arrow' />
144144
{{@model.ref.name}}
145145
</div>
146-
<div class='exported-type'>
146+
<div class='exported-type' data-test-exported-type>
147147
{{@model.type}}
148148
</div>
149149
</div>

Diff for: packages/boxel-ui/addon/src/components/select/trigger.gts

+4-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,10 @@ export class BoxelSelectDefaultTrigger extends Component<TriggerSignature> {
8989
{{/if}}
9090
</:default>
9191
<:icon>
92-
<CaretDown class={{cn 'icon' (if @select.isOpen 'is-open')}} />
92+
<CaretDown
93+
class={{cn 'icon' (if @select.isOpen 'is-open')}}
94+
data-test-caret-down
95+
/>
9396
</:icon>
9497
</BoxelTriggerWrapper>
9598
<style scoped>

Diff for: packages/host/app/components/operator-mode/code-submode.gts

+2
Original file line numberDiff line numberDiff line change
@@ -937,6 +937,7 @@ export default class CodeSubmode extends Component<Signature> {
937937
this.selectedAccordionItem
938938
'schema-editor'
939939
}}
940+
data-test-accordion-item='schema-editor'
940941
>
941942
<:title>
942943
<SchemaEditorTitle />
@@ -964,6 +965,7 @@ export default class CodeSubmode extends Component<Signature> {
964965
this.selectedAccordionItem
965966
'boxel-spec-preview'
966967
}}
968+
data-test-accordion-item='boxel-spec-preview'
967969
>
968970
<:title>
969971
<BoxelSpecPreviewTitle />

Diff for: packages/host/app/components/operator-mode/code-submode/boxel-spec-preview.gts

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ class BoxelSpecPreviewContent extends GlimmerComponent<ContentSignature> {
187187
</div>
188188
{{else}}
189189
<div class='boxel-spec-preview'>
190-
<div class='boxel-spec-selector'>
190+
<div class='boxel-spec-selector' data-test-boxel-spec-selector>
191191
<BoxelSelect
192192
@options={{@boxelSpecInstances}}
193193
@selected={{@selectedInstance}}

Diff for: packages/host/tests/acceptance/code-submode-test.ts

+69
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,42 @@ module('Acceptance | code submode tests', function (_hooks) {
576576
},
577577
},
578578
},
579+
'pet-entry.json': {
580+
data: {
581+
type: 'card',
582+
attributes: {
583+
type: 'card',
584+
ref: {
585+
module: `./pet`,
586+
name: 'Pet',
587+
},
588+
},
589+
meta: {
590+
adoptsFrom: {
591+
module: `${baseRealm.url}catalog-entry`,
592+
name: 'CatalogEntry',
593+
},
594+
},
595+
},
596+
},
597+
'pet-entry-2.json': {
598+
data: {
599+
type: 'card',
600+
attributes: {
601+
type: 'card',
602+
ref: {
603+
module: `./pet`,
604+
name: 'Pet',
605+
},
606+
},
607+
meta: {
608+
adoptsFrom: {
609+
module: `${baseRealm.url}catalog-entry`,
610+
name: 'CatalogEntry',
611+
},
612+
},
613+
},
614+
},
579615
'index.json': {
580616
data: {
581617
type: 'card',
@@ -1758,5 +1794,38 @@ module('Acceptance | code submode tests', function (_hooks) {
17581794
await click(createFileModalOverlay!);
17591795
assert.dom('[data-test-create-file-modal]').doesNotExist();
17601796
});
1797+
1798+
test('boxel-spec-preview is shown with module that has a single boxel spec instance', async function (assert) {
1799+
await visitOperatorMode({
1800+
submode: 'code',
1801+
codePath: `${testRealmURL}person.gts`,
1802+
});
1803+
await waitFor('[data-test-accordion-item="boxel-spec-preview"]');
1804+
assert.dom('[data-test-accordion-item="boxel-spec-preview"]').exists();
1805+
assert.dom('[data-test-has-boxel-spec]').containsText('card');
1806+
await click('[data-test-accordion-item="boxel-spec-preview"] button');
1807+
await waitFor('[data-test-boxel-spec-selector]');
1808+
assert.dom('[data-test-boxel-spec-selector]').exists();
1809+
assert.dom('[data-test-title]').containsText('Person');
1810+
assert.dom('[data-test-description]').containsText('Catalog entry');
1811+
assert
1812+
.dom('[data-test-module-href]')
1813+
.containsText(`${testRealmURL}person`);
1814+
assert.dom('[data-test-exported-name]').containsText('Person');
1815+
assert.dom('[data-test-exported-type]').containsText('card');
1816+
});
1817+
test('boxel-spec-preview is shown with module that has multple boxel spec instances', async function (assert) {
1818+
await visitOperatorMode({
1819+
submode: 'code',
1820+
codePath: `${testRealmURL}pet.gts`,
1821+
});
1822+
await waitFor('[data-test-accordion-item="boxel-spec-preview"]');
1823+
assert.dom('[data-test-accordion-item="boxel-spec-preview"]').exists();
1824+
assert.dom('[data-test-has-boxel-spec]').containsText('2 instances');
1825+
await click('[data-test-accordion-item="boxel-spec-preview"] button');
1826+
await waitFor('[data-test-boxel-spec-selector]');
1827+
assert.dom('[data-test-boxel-spec-selector]').exists();
1828+
assert.dom('[data-test-caret-down]').exists();
1829+
});
17611830
});
17621831
});

0 commit comments

Comments
 (0)