@@ -201,34 +201,50 @@ describe("Redux Tests", function() {
201201
202202 it('unsubscribes when destroyed', function(done) {
203203 var renderInto = document.getElementById("renderTestComponents");
204- $T.createComponent("c:TestReduxContainer", {}, renderInto)
204+ var originalComponent;
205+ var called = 0;
206+ $T.createComponent("c:Redux", {}, renderInto)
205207 .then(function(component) {
206-
207- var redux = component.find("store");
208-
209- var toggle = false;
210- function toggleReducer( state, action) {
211- toggle = !toggle;
212- if(toggle) {
213- return "Toggle is True";
214- } else {
215- return "Toggle is False" ;
208+ originalComponent = component;
209+ function reducer(state, action) {
210+ switch (action.type) {
211+ case 'INCREMENT':
212+ return state + 1;
213+ case 'DECREMENT':
214+ return state - 1;
215+ default:
216+ var defaultState = 0;
217+ return defaultState ;
216218 }
217219 }
218220
219- redux.createStore("toggle", toggleReducer);
221+ function handleChanges() {
222+ called++;
223+ }
220224
221- var mapStateToAttributes = {
222- "v.message": "toggle"
223- } ;
225+ component.createStore("counter", reducer);
226+ component.unsubscribe = component.subscribe(handleChanges);
227+ component.dispatch({type: "INCREMENT"}) ;
224228
225- redux.connect(mapStateToAttributes, component);
226- expect(component.get("v.message")).toBe("Toggle is True");
229+ expect(called).toBe(1);
230+ component.dispatch({type: "INCREMENT"});
231+ expect(called).toBe(2);
232+ }).catch(function(e) {
233+ done.fail(e);
234+ });
235+
236+ $T.createComponent("c:Redux", {}, renderInto)
237+ .then(function(component) {
238+ function reducer(state, action) {
239+ return "Hello World"
240+ }
241+
242+ originalComponent.destroy();
243+ component.createStore("helloWorld", reducer);
227244 component.dispatch({type: "INCREMENT"});
228- expect(component.get("v.message")).toBe("Toggle is False");
229- component.destroy();
245+
230246 component.dispatch({type: "INCREMENT"});
231- expect(component.get("v.message")) .toBe("Toggle is True" );
247+ expect(called) .toBe(2 );
232248 done();
233249 }).catch(function(e) {
234250 done.fail(e);
0 commit comments