public void RenderJavaScriptShouldCallRenderComponent() { var environment = new Mock<IReactEnvironment>(); var component = new ReactComponent(environment.Object, "Foo", "container") { Props = new { hello = "World" } }; var result = component.RenderJavaScript(); Assert.Equal( @"React.renderComponent(Foo({""hello"":""World""}), document.getElementById(""container""))", result ); }
public void RenderJavaScriptShouldCallRenderComponent() { var environment = new Mock <IReactEnvironment>(); var component = new ReactComponent(environment.Object, "Foo", "container") { Props = new { hello = "World" } }; var result = component.RenderJavaScript(); Assert.AreEqual( @"React.renderComponent(Foo({""hello"":""World""}), document.getElementById(""container""))", result ); }
public void RenderJavaScriptShouldCallRenderComponent() { var environment = new Mock <IReactEnvironment>(); var config = new Mock <IReactSiteConfiguration>(); var component = new ReactComponent(environment.Object, config.Object, "Foo", "container") { Props = new { hello = "World" } }; var result = component.RenderJavaScript(); Assert.Equal( @"ReactDOM.hydrate(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))", result ); }
public void RenderJavaScriptShouldCallRenderComponentwithReactDOMHydrate() { var environment = new Mock <IReactEnvironment>(); var config = CreateDefaultConfigMock(); var reactIdGenerator = new Mock <IReactIdGenerator>(); var component = new ReactComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container") { ClientOnly = false, Props = new { hello = "World" } }; var result = component.RenderJavaScript(); Assert.Equal( @"ReactDOM.hydrate(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))", result ); }
public void RenderJavaScriptShouldCallRenderComponentWithReactDomRenderWhenSsrDisabled() { var environment = new Mock <IReactEnvironment>(); var config = CreateDefaultConfigMock(); config.SetupGet(x => x.UseServerSideRendering).Returns(false); var reactIdGenerator = new Mock <IReactIdGenerator>(); var component = new ReactComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container") { ClientOnly = false, Props = new { hello = "World" } }; var result = component.RenderJavaScript(); Assert.Equal( @"ReactDOM.render(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))", result ); }
public void RenderJavaScriptShouldHandleWaitForContentLoad() { var environment = new Mock <IReactEnvironment>(); var config = CreateDefaultConfigMock(); config.SetupGet(x => x.UseServerSideRendering).Returns(false); var reactIdGenerator = new Mock <IReactIdGenerator>(); var component = new ReactComponent(environment.Object, config.Object, reactIdGenerator.Object, "Foo", "container") { ClientOnly = false, Props = new { hello = "World" } }; using (var writer = new StringWriter()) { component.RenderJavaScript(writer, waitForDOMContentLoad: true); Assert.Equal( @"window.addEventListener('DOMContentLoaded', function() {ReactDOM.render(React.createElement(Foo, {""hello"":""World""}), document.getElementById(""container""))});", writer.ToString() ); } }