UNPKG

dynamite

Version:

promise-based DynamoDB client

79 lines (58 loc) 2.41 kB
// Copyright 2015 A Medium Corporation. var typeUtil = require('../lib/typeUtil') var nodeunitq = require('nodeunitq') var builder = new nodeunitq.Builder(exports) var Q = require('kew') builder.add(function testAddToSet(test) { var set = typeUtil.valueToObject([1,2,3]) test.equal(typeUtil.objectToType(set), 'NS') var additions = typeUtil.valueToObject([4]) test.equal(typeUtil.objectToType(additions), 'NS') var modified = typeUtil.addToSet(set, additions) test.equal(typeUtil.objectToType(modified), 'NS') modified.NS.sort() test.deepEqual(set.NS, [1,2,3].map(String)) test.deepEqual(modified.NS, [1,2,3,4].map(String)) return Q.resolve() }) builder.add(function testAddToNullSet(test) { var set = null var additions = typeUtil.valueToObject([4]) test.equal(typeUtil.objectToType(additions), 'NS') var modified = typeUtil.addToSet(set, additions) test.equal(typeUtil.objectToType(modified), 'NS') modified.NS.sort() test.deepEqual(modified.NS, [4].map(String)) return Q.resolve() }) builder.add(function testDeleteFromSet(test) { var set = typeUtil.valueToObject([1,2,3]) test.equal(typeUtil.objectToType(set), 'NS') var deletions = typeUtil.valueToObject([1, 4]) test.equal(typeUtil.objectToType(deletions), 'NS') var modified = typeUtil.deleteFromSet(set, deletions) test.equal(typeUtil.objectToType(modified), 'NS') modified.NS.sort() test.deepEqual(modified.NS, [2, 3].map(String)) return Q.resolve() }) builder.add(function testObjectIsNonEmptySet(test) { test.ok(!typeUtil.objectIsNonEmptySet()) test.ok(!typeUtil.objectIsNonEmptySet(null)) test.ok(!typeUtil.objectIsNonEmptySet({})) test.ok(!typeUtil.objectIsNonEmptySet(typeUtil.valueToObject(4))) test.ok(!typeUtil.objectIsNonEmptySet(typeUtil.valueToObject('4'))) test.ok(typeUtil.objectIsNonEmptySet(typeUtil.valueToObject([4]))) test.ok(typeUtil.objectIsNonEmptySet(typeUtil.valueToObject(['4']))) return Q.resolve() }) builder.add(function testGetAttributeAlias(test) { var getAlias = typeUtil.getAttributeAlias test.equal('userId', getAlias('userId')) test.equal('userId2', getAlias('userId2')) test.equal('#comment', getAlias('comment')) // reserved word test.equal('#5f5f757365724964', getAlias('__userId')) test.equal('#7573657249645f', getAlias('userId_')) test.equal('#30757365724964', getAlias('0userId')) return Q.resolve() })