@samitouri / QOS-React-2 / commits / 256753b830

Add test logic to make sure that events get tested when rendering on top of server-generated markup. (#6668)

Sasha Aickin committed Apr 30, 2016 at 11:21 UTC 256753b83011f18dab8f6f12535afc78c5652b69
1 file changed +11 -5
src/renderers/dom/server/__tests__/ReactServerRendering-test.js
+11 -5
@@ -232,9 +232,15 @@ describe('ReactServerRendering', function() {
232 ExecutionEnvironment.canUseDOM = true;
233 element.innerHTML = lastMarkup;
234
235 - ReactDOM.render(<TestComponent name="x" />, element);
235 + var instance = ReactDOM.render(<TestComponent name="x" />, element);
236 expect(mountCount).toEqual(3);
237 expect(element.innerHTML).toBe(lastMarkup);
238 +
239 + // Ensure the events system works after mount into server markup
240 + expect(numClicks).toEqual(0);
241 + ReactTestUtils.Simulate.click(ReactDOM.findDOMNode(instance.refs.span));
242 + expect(numClicks).toEqual(1);
243 +
244 ReactDOM.unmountComponentAtNode(element);
245 expect(element.innerHTML).toEqual('');
246
@@ -242,16 +248,16 @@ describe('ReactServerRendering', function() {
248 // warn but do the right thing.
249 element.innerHTML = lastMarkup;
250 spyOn(console, 'error');
245 - var instance = ReactDOM.render(<TestComponent name="y" />, element);
251 + instance = ReactDOM.render(<TestComponent name="y" />, element);
252 expect(mountCount).toEqual(4);
253 expect(console.error.argsForCall.length).toBe(1);
254 expect(element.innerHTML.length > 0).toBe(true);
255 expect(element.innerHTML).not.toEqual(lastMarkup);
256
251 - // Ensure the events system works
252 - expect(numClicks).toEqual(0);
253 - ReactTestUtils.Simulate.click(ReactDOM.findDOMNode(instance.refs.span));
257 + // Ensure the events system works after markup mismatch.
258 expect(numClicks).toEqual(1);
259 + ReactTestUtils.Simulate.click(ReactDOM.findDOMNode(instance.refs.span));
260 + expect(numClicks).toEqual(2);
261 });
262
263 it('should throw with silly args', function() {