11import unittest
22from optional_django import six
3- from react .render import render_component , RenderedComponent
3+ import mock
4+ from react .conf import Conf
5+ from react .render import render_component
6+ from react .render_server import RenderedComponent
47from react .exceptions import ReactRenderingError , ComponentSourceFileNotFound
58from .settings import Components
69
@@ -19,7 +22,7 @@ def test_can_render_a_component_in_jsx(self):
1922 def test_can_render_a_component_requiring_another_component (self ):
2023 component = render_component (
2124 Components .HELLO_WORLD_JSX_WRAPPER ,
22- props = {
25+ {
2326 'name' : 'world!' ,
2427 'numbers' : [1 , 2 , 3 , 4 , 5 ],
2528 },
@@ -40,7 +43,7 @@ def test_can_render_a_component_to_a_string_with_props(self):
4043 def test_render_component_returns_a_rendered_component (self ):
4144 component = render_component (
4245 Components .HELLO_WORLD_JSX ,
43- props = {
46+ {
4447 'name' : 'world!'
4548 },
4649 to_static_markup = True ,
@@ -54,7 +57,7 @@ def test_render_component_returns_a_rendered_component(self):
5457 def test_can_get_a_components_serialized_props (self ):
5558 component = render_component (
5659 Components .HELLO_WORLD_JSX ,
57- props = {
60+ {
5861 'name' : 'world!' ,
5962 },
6063 )
@@ -73,16 +76,30 @@ def test_unserializable_props_raise_an_exception(self):
7376 TypeError ,
7477 render_component ,
7578 Components .HELLO_WORLD_JSX ,
76- props = {'name' : lambda : None }
79+ {'name' : lambda : None }
7780 )
7881 self .assertRaises (
7982 TypeError ,
8083 render_component ,
8184 Components .HELLO_WORLD_JSX ,
82- props = {'name' : self }
85+ {'name' : self }
8386 )
8487
8588 def test_missing_paths_throw_an_exception (self ):
8689 self .assertRaises (ComponentSourceFileNotFound , render_component , '/path/to/nothing.jsx' )
8790 # Ensure that relative paths are handled as well
88- self .assertRaises (ComponentSourceFileNotFound , render_component , 'path/to/nothing.jsx' )
91+ self .assertRaises (ComponentSourceFileNotFound , render_component , 'path/to/nothing.jsx' )
92+
93+ def test_render_setting_is_respected (self ):
94+ mock_settings = Conf ()
95+ mock_settings .configure (RENDER = False )
96+ with mock .patch ('react.conf.settings' , mock_settings ):
97+ rendered = render_component (
98+ Components .HELLO_WORLD_JSX ,
99+ {'name' : 'world!' },
100+ to_static_markup = True ,
101+ )
102+ self .assertIsInstance (rendered , RenderedComponent )
103+ self .assertEqual (rendered .markup , '' )
104+ self .assertEqual (str (rendered ), '' )
105+ self .assertEqual (rendered .props , '{"name": "world!"}' )
0 commit comments