diff --git a/package.json b/package.json
index a3c35a6..ad0d27f 100644
--- a/package.json
+++ b/package.json
@@ -28,5 +28,8 @@
     "winston": "^2.2.0",
     "xml": "^1.0.1",
     "xml2js": "^0.4.16"
+  },
+  "devDependencies": {
+    "should": "^8.3.1"
   }
 }
diff --git a/partner-trustlink.js b/partner-trustlink.js
index 505445b..af5290a 100644
--- a/partner-trustlink.js
+++ b/partner-trustlink.js
@@ -164,3 +164,4 @@ function directResponseHandler(body, task) {
 
 exports.start = start;
 exports.topupRequest = topupRequest;
+exports.calculateSignature = calculateSignature;
diff --git a/test.js b/test.js
new file mode 100644
index 0000000..23363e5
--- /dev/null
+++ b/test.js
@@ -0,0 +1,10 @@
+var should = require("should");
+var partner = require("./partner-trustlink");
+
+describe('#partner-trustlink', function() {
+    describe('#calculateSignature', function() {
+        it('should return correct signature', function() {
+            partner.calculateSignature('191001', '0812345678', 'abcdef').should.equal('CQ4HBVFTVlJSXg==');
+        });
+    });
+});