Exemplo n.º 1
0
    it("header back button route", function () {
      var routes = [initData.blogId, '1', 'day'];
      var data = _.extend({}, initData, {
        routes: routes
      });

      var item = window.Mock.throwEntryItem = {
        "status": "Publish",
        "date": "2013-08-05T09:00:00\u002b09:00",
        "author": "Yutaka Yamaguchi",
        "class": "entry",
        "title": "title" + (new Date()).valueOf(),
        "body": "body",
        "blog": {},
        "excerpt": "excerpt",
        "permalink": "http://memolog.org/2013/08/05/foobar.html"
      };

      var Layout = require('js/views/card/layout');
      var layout = new Layout(_.extend({}, data, {
        viewHeader: card.routes[1].header,
        viewView: card.routes[1].view
      }));
      layout.render();

      var header;
      waitsFor(function () {
        return postSpy.render.callCount === 3;
      }, 'render', 3000);

      runs(function () {
        header = layout.header.currentView;
        expect(header.backButtonRoute()).toEqual(card.id);
      });
    });
Exemplo n.º 2
0
    it("share entry", function () {
      var routes = [initData.blogId, '1', 'day'];
      var data = _.extend({}, initData, {
        routes: routes
      });

      var item = window.Mock.throwEntryItem = {
        "status": "Publish",
        "date": "2013-08-05T09:00:00\u002b09:00",
        "author": "Yutaka Yamaguchi",
        "class": "entry",
        "title": "title" + (new Date()).valueOf(),
        "body": "body",
        "blog": {},
        "excerpt": "excerpt",
        "permalink": "http://memolog.org/2013/08/05/foobar.html"
      };

      var Layout = require('js/views/card/layout');
      var layout = new Layout(_.extend({}, data, {
        viewHeader: card.routes[1].header,
        viewView: card.routes[1].view
      }));
      layout.render();
      var header;

      waitsFor(function () {
        return postSpy.render.callCount === 3;
      }, 'render', 3000);

      var count;
      runs(function () {
        header = layout.header.currentView;
        post = layout.main.currentView;
        var $shareButton = header.$el.find('#share-button');
        expect($shareButton.length).toBeTruthy();
        var e = $.Event('tap', {
          currentTarget: $shareButton.get(0)
        });
        count = commandSpies['card:stats:share:show'].callCount;
        $shareButton.trigger(e);
      });

      waitsFor(function () {
        return commandSpies['card:stats:share:show'].callCount > count;
      }, 'callback from tapping share button');

      runs(function () {
        expect(commandSpies['share:show']).toHaveBeenCalled();
        var share = commandSpies['share:show'].mostRecentCall.args[0].share;
        expect(share.url).toEqual(item.permalink);
        expect(share.tweetText).toEqual(item.title + ' ' + item.excerpt);
      });
    });