Skip to content
Extraits de code Groupes Projets
publisher-spec.js 3,36 ko
Newer Older
Sarah Mei's avatar
Sarah Mei a validé
/*   Copyright (c) 2010, Diaspora Inc.  This file is
Dan Hansen's avatar
Dan Hansen a validé
 *   licensed under the Affero General Public License version 3 or later.  See
 *   the COPYRIGHT file.
 */
Sarah Mei's avatar
Sarah Mei a validé

Dan Hansen's avatar
Dan Hansen a validé
describe("Diaspora", function() {
  describe("widgets", function() {
    describe("publisher", function() {
      describe("start", function() {
        it("calls updateHiddenField", function() {
          spec.loadFixture('aspects_index_prefill');
          spyOn(Diaspora.widgets.publisher, 'updateHiddenField');
         Diaspora.widgets.publisher.start();
          expect(Diaspora.widgets.publisher.updateHiddenField).toHaveBeenCalled();
        });
Dan Hansen's avatar
Dan Hansen a validé
        it("attaches updateHiddenField to the change handler on fake_message", function() {
          spec.loadFixture('aspects_index_prefill');
          spyOn(Diaspora.widgets.publisher, 'updateHiddenField');
          Diaspora.widgets.publisher.start();
          Diaspora.widgets.publisher.$fakeMessage.change();
          expect(Diaspora.widgets.publisher.updateHiddenField.mostRecentCall.args[0].type).toBe('change');
        });
Dan Hansen's avatar
Dan Hansen a validé
        it("calls toggle when it does not have text", function() {
          spec.loadFixture('aspects_index');
          spyOn(Diaspora.widgets.publisher, 'toggle');
          Diaspora.widgets.publisher.start();
          expect(Diaspora.widgets.publisher.toggle).toHaveBeenCalled();
        });
Dan Hansen's avatar
Dan Hansen a validé
        it("does not call toggle when there is prefilled text", function() {
          spec.loadFixture('aspects_index_prefill');
          spyOn(Diaspora.widgets.publisher, 'toggle');
          Diaspora.widgets.publisher.start();
          expect(Diaspora.widgets.publisher.toggle).not.toHaveBeenCalled();
Dan Hansen's avatar
Dan Hansen a validé
      describe("toggle", function() {
        beforeEach(function() {
          spec.loadFixture('aspects_index');
          Diaspora.widgets.publisher.start();
Dan Hansen's avatar
Dan Hansen a validé
        it("toggles the closed class", function() {
          expect(Diaspora.widgets.publisher.$publisher.hasClass('closed')).toBeTruthy();
          Diaspora.widgets.publisher.toggle();
          expect(Diaspora.widgets.publisher.$publisher.hasClass('closed')).toBeFalsy();

          expect(Diaspora.widgets.publisher.$publisher.hasClass('closed')).toBeFalsy();
          Diaspora.widgets.publisher.toggle();
          expect(Diaspora.widgets.publisher.$publisher.hasClass('closed')).toBeTruthy;
Dan Hansen's avatar
Dan Hansen a validé

        it("toggles the options_and_submit div", function() {
          expect(Diaspora.widgets.publisher.$publisher.find(".options_and_submit").is(":visible")).toBeFalsy();
          Diaspora.widgets.publisher.toggle();
          expect(Diaspora.widgets.publisher.$publisher.find(".options_and_submit").is(":visible")).toBeTruthy();


          expect(Diaspora.widgets.publisher.$publisher.find(".options_and_submit").is(":visible")).toBeTruthy();
          Diaspora.widgets.publisher.toggle();
          expect(Diaspora.widgets.publisher.$publisher.find(".options_and_submit").is(":visible")).toBeFalsy();
Dan Hansen's avatar
Dan Hansen a validé
      describe("updateHiddenField", function() {
        beforeEach(function() {
          spec.loadFixture('aspects_index_prefill');
        });

        it("copies the value of fake_message to message", function() {
          Diaspora.widgets.publisher.updateHiddenField();
          expect(Diaspora.widgets.publisher.$realMessage.val()).toBe(
              Diaspora.widgets.publisher.$fakeMessage.val());
        });
Dan Hansen's avatar
Dan Hansen a validé
  });
});