iota.lib.js
Version:
Javascript Library for IOTA
42 lines (32 loc) • 4.12 kB
JavaScript
var chai = require('chai');
var expect = chai.expect;
var Utils = require('../../lib/utils/utils.js');
describe('utils.transactionObject', function() {
var trytes, hash;
before(function() {
trytes = 'U9GQBLSLSHTGIIDWWANRFHAWGNOVHOSAWLXNBPOJVPSTQRBYILRDNSGRMIBUMNSATRSMPWGMPNVBSVFIBMEVYTPJDKLPRNPWQTUBGF9WENRKVTRMILEOEOSMU9KIBEEFQJNKYRNBGCCHIIOXGCTSSEV9AIYNMPBPQAWYAKUFKHSEBHPMWQZXD9ARRGTABMHCFJPNKUWHCYHFRPZTXZZTATKAYHXHNX9QKQXYBZSIZJLHAJRTJZDPTQYTCPHIZIQN9SIOFNQUCMD9MOLYONGALHDLNAITVZJAMTBDYWUS9HRGYZKGTEMTCGWHUMNIZJOUMLDXLWHBUFHQOZJDC9EMYULMLOCBPUSIL9JMLXVIEEVYOWUF9JZYEHAVPMW9TQINYJUFIRNKDUUSFHP9VIVRXTUHNNERZBLJDQXHCILJPUXIQMIMDGFWNMTSOUGKLYR9VVAHQ9HEU9KZYROHRLVLIRTGKRSYPMAEZRXIIZSZFORDLLUNWZTLYKDCJAXGJXTSYHMLEJJLSKSLKCHJWHOFFY9N9NMHN9CXLPLVPNZODSVEHVVHHXBQPKAHPSKKMZHKMAGDDJNRMQWETZREXYRCOXWLZXDZFOPV9UQFQRCDFTLDRAFNOTOLNWKOWXQQDRCGFLSZROMYBFQMXHZCLLAEIRFZXOZXWJQXBZQTI9QRQCNRQKEAWUPZWT9VERT99XPSZSEMMXMWMMLDRGOBXVXAXTK9BCYKGHWEHXOCUAZNIYTGWXMGLNWOKTKRZHFAYTWT9A9KPTKDDEUCLDNRKXOTL9MNJAR9TOENSJWRWQDPTX9XJRMNCXDINMWGWQZJVPBTZZIOMIPLMXOBBKMQGGEXQFEABUAFNPIWTCEFAOHVQWXEHYBD9BLNONFLZDDDQVVJ9AAZKLVROWWJEVEVZOUNXNPUUNYWWGERBWCMLRUNITOTGSBDVBAFFOZQKRSRAWEUNWACFSRWFDYAHSYHU9ILSWTSOHMYHSWPTJLAPOQDJHSBIMLBGGWFBBRTOWKTTDQEXBV9IVVZPFJKHYWWBGIMNZVMUAEZADZSQJVOMBSJIPBHYUFFVEOPOOSHPAOVNFBLCV9GTHJCHJQTODOIRVQXMPDCVEPHJQDIVAKFEXZIZJFBPXEKKZFOIBGJETGLQUPVFS9BPYGLVNJVCLSEOLVDCPNIUTMYIL9HOSPPUJKADRFQYDOUMVJAPK9LIESRGJAMTDSLQTZBNMZEYPOFRLODFKOLDHDMBUQRNKEIDPDUFVHAXL9EAKL9GWZBQHE9TPJOWNUVTGCFXY9CCXKALAEKJUY9GDCTABQRKIMJVQI9DQTYMQHU9QGFOFTBUOOYYIHEJXBMDWBSHVBD9P9SFAEGO9VLRROKRDCLXCPFMEJJLTWP9EZSTFALYEORFIGLNNYELMQNRGWEGIDWEXUVSWEZ99X9BRDCBWNBKBIHZTMVXMC9XJQTUCMBEJBGWJVRPXRIJSMCMWMZHGPRXJWEXPEKLBJEIELBUGJUMFEGITVRGCELLZMSW9HTDQINUIDZXF9F9PXSFTTOQXBWUEDAADVOG9EBZP9K9YR9YDDMQWIHEYAS9YBORRYSFSGNLCZSXONBQFTQXFWST9NWMRHORJJXNZLNMOJUQBYKVPAWUBZNLPDCFYFDFOERAPQUWTSUHHONLRLSEMPKDXFKVPAJXY99SRBRXCQJNCGSIULSDADBUVCOKT9UFFPJCXULUROLPNBRIIEOCWQN9YUPTANIDNOCAJGCFTBJBZWQIGVGWTDZTDZUCOYKXOFXFCQHHWHXCDLXRBQGFFJBVOXJVX9JJAOMBQYKCHXRFRUXIVJVRIAJVYQLIQJPMPMNLCRS9ZZAYKTFKEPJJECTMRVXLGJTWXLZBFYOOPYCZIUWYQERLGHYHNJS9UGABLUIRHLAV9KQWU9HJXKTHURDDZOCECNRAMLSSTLCHOQKTXPAJGNACFQZ9QNMTOFHFOSIBABBIBHYKMEDFAXDDDKFEGHCDVIBKOTBZEEEPYIJBUKEZBC9PSOTYVXKJMURDVAXATMWYLYECURREYBRXWWIFZJTIKSOYVUKFEGNJZSPSUEYVCUQADUNZZANBITAQCCTRDKIDZQJYFKVIFHFZOJDFABTDGMITXQKLWAFJNPZQCZCBBEOMDX9JJSDYXJKWKXPBFHSMCUQUCNIEKHUU9PKUJDRPWVLDZLZMBWYVAGJALLJEJVXUJIPITTHLEVW9EPOXYGRVCF9GRMSBTAUFGLXZCBFRMPQUK9JLVJNLVBW999999999999999999999999999TRINITY99999999999999999999PFVOGYD99B99999999C99999999ETSWPNLGYCNUGIYRCHUBBJQKGZ9NDHNPJKZLWDURHNBVHUKLKLDCBBLBQBWVBKLWOKFRTXUXIBPFWLKJW999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999TRINITY99999999999999999999999999999999999999999999999999999999999999999999999999';
hash = 'CTED9CPXJDIHWRCQZATCNFIPHKZHQTKWJP9PTR9QYVQVJFRQXGFSGCQJDLAVI9CYHBLMNXOSOAYBUWTCZ';
});
describe('when transactionHash is passed as second argument', () => {
describe('when transactionHash is invalid', () => {
it('should recompute hash', () => {
var transactionHash = '9'.repeat(80);
var transactionObject = Utils.transactionObject(trytes, transactionHash);
expect(transactionObject.hash).to.not.equal(transactionHash);
});
});
describe('when transactionHash is valid', () => {
it('should not recompute hash', () => {
var transactionHash = '9'.repeat(81);
var transactionObject = Utils.transactionObject(trytes, transactionHash);
expect(transactionObject.hash).to.equal(transactionHash);
});
});
});
describe('when transactionHash is not passed as second argument', () => {
it('should recompute hash', () => {
var transactionObject = Utils.transactionObject(trytes);
expect(transactionObject.hash).to.equal(hash);
});
});
});