From 0d8d270d722f822c012d4c47e7c275a4850d5f3e Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <gua@adhisimon.org>
Date: Wed, 29 Jul 2015 16:05:25 +0700
Subject: [PATCH] mocha test

---
 partner-datacell.js | 14 ++++++++++++++
 test.js             | 18 ++++++++++++++++++
 2 files changed, 32 insertions(+)

diff --git a/partner-datacell.js b/partner-datacell.js
index 185da8f..39e80b8 100644
--- a/partner-datacell.js
+++ b/partner-datacell.js
@@ -268,6 +268,19 @@ function balanceFromMessage(message) {
     return matches[1];
 }
 
+function priceFromMessage(message) {
+    var matches = message.match(/Harga: (\d+)/);
+    
+    if (!matches) {
+        return null;
+    }
+    if (matches.length < 2) {
+        return null;
+    }
+    
+    return matches[1];
+}
+
 function start(_config, _callbackReport) {
     config = _config;
     callbackReport = _callbackReport
@@ -278,3 +291,4 @@ function start(_config, _callbackReport) {
 exports.start = start;
 exports.topupRequest = topupRequest;
 exports.balanceFromMessage = balanceFromMessage;
+exports.priceFromMessage = priceFromMessage;
diff --git a/test.js b/test.js
index 190174d..e442064 100644
--- a/test.js
+++ b/test.js
@@ -21,8 +21,26 @@ describe('partner-datacell', function() {
         it('should return null', function() {
             assert.equal(null, partner.balanceFromMessage('XL25 No: 08174945541 SUKSES SN Operator: 970729963933 SN Kami: 243591297.'));
         });
+    });
+    
+    describe('#priceFromMessage', function() {
+        var message;
+        
+        it('should return 24750', function() {
+            assert.equal(8306874, partner.balanceFromMessage('IR25 No: 085697273881 sudah diterima dan sdg diproses. SN Kami :243588112. Harga: 24750. Saldo: Rp 8306874.'));
+        });
+        
+        it('should return 19950', function() {
+            assert.equal(8351574, partner.balanceFromMessage('TEL20 No: 085372113774 sudah diterima dan sdg diproses. SN Kami :243586975. Harga: 19950. Saldo: Rp 8351574.'));
+        });
         
+        it('should return 0', function() {
+            assert.equal(0, partner.balanceFromMessage('TEL20 No: 085372113774 sudah diterima dan sdg diproses. SN Kami :243586975. Harga: 0. Saldo: Rp 8351574.'));
+        });
         
+        it('should return null', function() {
+            assert.equal(null, partner.balanceFromMessage('XL25 No: 08174945541 SUKSES SN Operator: 970729963933 SN Kami: 243591297.'));
+        });
     });
     
     
-- 
1.9.0