Example #1
0
    it('stores view state about cancelling deleting a review', () => {
      const review = { ...fakeReview, id: 837 };

      let state;
      state = reviewsReducer(
        state,
        beginDeleteAddonReview({ reviewId: review.id }),
      );
      state = reviewsReducer(
        state,
        cancelDeleteAddonReview({ reviewId: review.id }),
      );

      expect(state.view[review.id].beginningToDeleteReview).toEqual(false);
    });
  it('lets you cancel deleting a review', () => {
    const review = signInAndDispatchSavedReview();
    store.dispatch(beginDeleteAddonReview({ reviewId: review.id }));
    const dispatchSpy = sinon.spy(store, 'dispatch');
    const root = render({ review });

    const dialog = root.find('.AddonReviewCard-confirmDeleteDialog');

    // This emulates a user clicking the cancel button.
    const onCancel = dialog.prop('onCancel');
    const fakeEvent = createFakeEvent();
    onCancel(fakeEvent);

    sinon.assert.calledWith(
      dispatchSpy,
      cancelDeleteAddonReview({ reviewId: review.id }),
    );
    sinon.assert.called(fakeEvent.preventDefault);
  });