Skip to content

Commit ff55a90

Browse files
committed
add tests for attaching/detaching entities
1 parent 44bee27 commit ff55a90

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

tests/browser/index.test.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,58 @@ suite('aframe-react', () => {
139139
});
140140
});
141141

142+
test('can attach new entities', done => {
143+
ReactDOM.render(
144+
<Scene>
145+
<Entity id='sphere' geometry={{primitive: 'sphere'}} material={{color: 'blue'}}/>
146+
</Scene>,
147+
div
148+
);
149+
div.querySelector('a-scene').addEventListener('loaded', () => {
150+
ReactDOM.render(
151+
<Scene>
152+
<Entity id='sphere' geometry={{primitive: 'sphere'}} material={{color: 'blue'}}>
153+
<Entity id='torus' geometry={{primitive: 'torus'}} material={{color: 'orange'}}/>
154+
</Entity>
155+
</Scene>,
156+
div
157+
);
158+
setTimeout(() => {
159+
const sphere = div.querySelector('#sphere');
160+
const torus = div.querySelector('#torus');
161+
assert.equal(sphere.getAttribute('geometry').primitive, 'sphere');
162+
assert.equal(sphere.getAttribute('material').color, 'blue');
163+
assert.equal(torus.getAttribute('geometry').primitive, 'torus');
164+
assert.equal(torus.getAttribute('material').color, 'orange');
165+
done();
166+
});
167+
});
168+
});
169+
170+
test('can detach entities', done => {
171+
ReactDOM.render(
172+
<Scene>
173+
<Entity id='foo'>
174+
<Entity id='bar'/>
175+
</Entity>
176+
</Scene>,
177+
div
178+
);
179+
div.querySelector('a-scene').addEventListener('loaded', () => {
180+
ReactDOM.render(
181+
<Scene>
182+
<Entity id='foo'/>
183+
</Scene>,
184+
div
185+
);
186+
setTimeout(() => {
187+
assert.ok(div.querySelector('#foo'));
188+
assert.notOk(div.querySelector('#bar'));
189+
done();
190+
});
191+
});
192+
});
193+
142194
test('does not flush props to DOM', done => {
143195
ReactDOM.render(<Scene><Entity position={{x: 1, y: 2, z: 3}}/></Scene>, div);
144196
div.querySelector('a-scene').addEventListener('loaded', () => {

0 commit comments

Comments
 (0)