summaryrefslogtreecommitdiffstats
path: root/lib/models
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models')
-rw-r--r--lib/models/__tests__/summaryPart.js23
-rw-r--r--lib/models/summaryPart.js21
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) {