diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-06-10 18:11:22 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-06-10 18:11:22 +0200 |
commit | 50a132cb2c0b0666b3b067e32d37e10bfb9e50da (patch) | |
tree | 5b4facb1c384c3f59b0d4b15f7a94d22607ecfe9 /lib/models | |
parent | 59be32a54f86d047a19d64eaa084bcc61f11ee2f (diff) | |
download | gitbook-50a132cb2c0b0666b3b067e32d37e10bfb9e50da.zip gitbook-50a132cb2c0b0666b3b067e32d37e10bfb9e50da.tar.gz gitbook-50a132cb2c0b0666b3b067e32d37e10bfb9e50da.tar.bz2 |
Add method "createChildLevel" to SummaryPart
Diffstat (limited to 'lib/models')
-rw-r--r-- | lib/models/__tests__/summaryPart.js | 23 | ||||
-rw-r--r-- | lib/models/summaryPart.js | 21 |
2 files changed, 40 insertions, 4 deletions
diff --git a/lib/models/__tests__/summaryPart.js b/lib/models/__tests__/summaryPart.js new file mode 100644 index 0000000..8ee50b6 --- /dev/null +++ b/lib/models/__tests__/summaryPart.js @@ -0,0 +1,23 @@ +var SummaryPart = require('../summaryPart'); + +describe('SummaryPart', function() { + describe('createChildLevel', function() { + it('must create the right level', function() { + var article = SummaryPart.create({}, '1'); + expect(article.createChildLevel()).toBe('1.1'); + }); + + it('must create the right level when has articles', function() { + var article = SummaryPart.create({ + articles: [ + { + title: 'Test' + } + ] + }, '1'); + expect(article.createChildLevel()).toBe('1.2'); + }); + }); +}); + + diff --git a/lib/models/summaryPart.js b/lib/models/summaryPart.js index f7a82ce..f0e6f57 100644 --- a/lib/models/summaryPart.js +++ b/lib/models/summaryPart.js @@ -25,11 +25,24 @@ SummaryPart.prototype.getArticles = function() { }; /** - Create a SummaryPart + * Create a new level for a new child article + * + * @return {String} + */ +SummaryPart.prototype.createChildLevel = function() { + var level = this.getLevel(); + var subArticles = this.getArticles(); + var childLevel = level + '.' + (subArticles.size + 1); + + return childLevel; +}; - @param {Object} def - @return {SummaryPart} -*/ +/** + * Create a SummaryPart + * + * @param {Object} def + * @return {SummaryPart} + */ SummaryPart.create = function(def, level) { var articles = (def.articles || []).map(function(article, i) { if (article instanceof SummaryArticle) { |