public void RenderJavaScriptShouldHandleWaitForContentLoad(bool clientOnly, bool useServerSideRendering) { var environment = new Mock <IReactEnvironment>(); var config = new Mock <IReactSiteConfiguration>(); config.Setup(x => x.UseServerSideRendering).Returns(useServerSideRendering); var reactIdGenerator = new Mock <IReactIdGenerator>(); var component = new ReactRouterComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container", "/bar") { Props = new { hello = "World" }, ClientOnly = clientOnly }; var result = component.RenderJavaScript(true); if (clientOnly || !useServerSideRendering) { Assert.Equal( @"window.addEventListener('DOMContentLoaded', function() {ReactDOM.render(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))});", result ); } else { Assert.Equal( @"window.addEventListener('DOMContentLoaded', function() {ReactDOM.hydrate(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))});", result ); } }
public void RenderJavaScriptShouldNotIncludeContextOrPath(bool clientOnly, bool useServerSideRendering) { var environment = new Mock <IReactEnvironment>(); var config = new Mock <IReactSiteConfiguration>(); config.Setup(x => x.UseServerSideRendering).Returns(useServerSideRendering); var reactIdGenerator = new Mock <IReactIdGenerator>(); var component = new ReactRouterComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container", "/bar") { Props = new { hello = "World" }, ClientOnly = clientOnly, }; var result = component.RenderJavaScript(false); if (clientOnly || !useServerSideRendering) { Assert.Equal( @"ReactDOM.render(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))", result ); } else { Assert.Equal( @"ReactDOM.hydrate(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))", result ); } }
public void RenderJavaScriptShouldNotIncludeContextOrPath() { var environment = new Mock <IReactEnvironment>(); var config = new Mock <IReactSiteConfiguration>(); var component = new ReactRouterComponent(environment.Object, config.Object, "Foo", "container", "/bar") { Props = new { hello = "World" } }; var result = component.RenderJavaScript(); Assert.Equal( @"ReactDOM.hydrate(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))", result ); }
public void RenderJavaScriptShouldHandleWaitForContentLoad() { var environment = new Mock <IReactEnvironment>(); var config = new Mock <IReactSiteConfiguration>(); var reactIdGenerator = new Mock <IReactIdGenerator>(); var component = new ReactRouterComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container", "/bar") { Props = new { hello = "World" } }; var result = component.RenderJavaScript(true); Assert.Equal( @"window.addEventListener('DOMContentLoaded', function() {ReactDOM.hydrate(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))});", result ); }