diff --git a/src/test/units/PluginMountPointComponent.test.js b/src/test/units/PluginMountPointComponent.test.js new file mode 100644 index 000000000..c1df987a3 --- /dev/null +++ b/src/test/units/PluginMountPointComponent.test.js @@ -0,0 +1,52 @@ +import {expect} from "chai"; +import {mount} from "enzyme"; +import React from "react/addons"; + +import PluginComponentStore from "../../js/stores/PluginComponentStore"; +import PluginComponentEvents from "../../js/events/PluginComponentEvents"; +import PluginDispatcher from "../../js/plugin/shared/PluginDispatcher"; +import PluginEvents from "../../js/plugin/shared/PluginEvents"; +import PluginMoundPointComponent + from "../../js/components/PluginMountPointComponent"; + +describe("PluginMountPointComponent", function () { + + before(function (done) { + this.pluginMountPointComponentA = + mount(); + + this.pluginMountPointComponentB = + mount(); + + this.pluginMountPointComponentC = + mount(); + + var component = React.createClass({ + render: function () { + return (Test Mount Point Component); + } + }); + + PluginComponentStore.once(PluginComponentEvents.CHANGE, () => done()); + + PluginDispatcher.dispatch({ + eventType: PluginEvents.INJECT_COMPONENT, + placeId: "testMountPointPlaceId", + component: component + }); + }); + + it("renders component with given place id", function () { + expect(this.pluginMountPointComponentA.find("span").text()) + .to.equal("Test Mount Point Component"); + + expect(this.pluginMountPointComponentB.find("span").text()) + .to.equal("Test Mount Point Component"); + }); + + it("does not render at non-matching place id", function () { + expect(this.pluginMountPointComponentC.find("span").length) + .to.equal(0); + }); + +});