add initContext helper to set fields we expect to be present
[squeep-html-template-helper] / test / lib / template-helper.js
index ab5533faca6695fa1328b94089b0b11f3a878501..58985ccd962683f175f29a879a189d708b913335 100644 (file)
@@ -21,6 +21,16 @@ describe('Template Helper', function () {
     options = {};
   });
 
+  describe('initContext', function () {
+    it('covers', function () {
+      th.initContext(ctx);
+      assert(ctx.errors);
+      assert(ctx.notifications);
+      assert(Array.isArray(ctx.errors));
+      assert(Array.isArray(ctx.notifications));
+    });
+  }); // initContext
+
   describe('dateOrNot', function () {
     let date, otherwise;
     beforeEach(function () {
@@ -83,6 +93,26 @@ describe('Template Helper', function () {
     });
   }); // dateFormat
 
+  describe('timeElement', function () {
+    it('renders a date', function () {
+      const when = new Date('2022-09-11T21:17:56.872Z');
+      const expected = '<time datetime="2022-09-11T21:17:56.872Z">Sep 11, 2022, 2:17:56 PM PDT</time>';
+      const result = th.timeElement(when);
+      assert.strictEqual(result, expected);
+    });
+    it('covers title', function () {
+      const when = new Date('2022-09-11T21:17:56.872Z');
+      const expected = '<time title="a date" datetime="2022-09-11T21:17:56.872Z">Sep 11, 2022, 2:17:56 PM PDT</time>';
+      const result = th.timeElement(when, { title: 'a date' });
+      assert.strictEqual(result, expected);
+    });
+    it('covers other', function () {
+      const expected = '<time>Mar 27, 2022, 3:28:05 PM PDT</time>';
+      const result = th.timeElement(1648420085049);
+      assert.strictEqual(result, expected);
+    });
+  }); // timeElement
+
   describe('secondsToPeriod', function () {
     it('covers seconds', function () {
       const result = th.secondsToPeriod(45);