@ -3,6 +3,21 @@ import { module, test } from 'qunit';
module ( 'Unit | Utility | create fingerprinter' , function ( ) {
test ( "fingerprint returns a 'unique' fingerprinted object based on primary, slug and foreign keys" , function ( assert ) {
const obj = {
ID : 'slug' ,
Namespace : 'namespace' ,
} ;
const expected = {
Datacenter : 'dc' ,
Namespace : 'namespace' ,
ID : 'slug' ,
uid : '["namespace","dc","slug"]' ,
} ;
const fingerprint = createFingerprinter ( 'Datacenter' , 'Namespace' ) ;
const actual = fingerprint ( 'uid' , 'ID' , 'dc' ) ( obj ) ;
assert . deepEqual ( actual , expected ) ;
} ) ;
test ( "fingerprint returns a 'unique' fingerprinted object based on primary, slug and foreign keys, and uses default namespace if none set" , function ( assert ) {
const obj = {
ID : 'slug' ,
} ;
@ -12,12 +27,12 @@ module('Unit | Utility | create fingerprinter', function() {
ID : 'slug' ,
uid : '["default","dc","slug"]' ,
} ;
const fingerprint = createFingerprinter ( 'Datacenter' , 'Namespace' , 'default' ) ;
const fingerprint = createFingerprinter ( 'Datacenter' , 'Namespace' ) ;
const actual = fingerprint ( 'uid' , 'ID' , 'dc' ) ( obj ) ;
assert . deepEqual ( actual , expected ) ;
} ) ;
test ( "fingerprint throws an error if it can't find a foreignKey" , function ( assert ) {
const fingerprint = createFingerprinter ( 'Datacenter' , 'Namespace' , 'default' ) ;
const fingerprint = createFingerprinter ( 'Datacenter' , 'Namespace' ) ;
[ undefined , null ] . forEach ( function ( item ) {
assert . throws ( function ( ) {
fingerprint ( 'uid' , 'ID' , item ) ;
@ -25,7 +40,7 @@ module('Unit | Utility | create fingerprinter', function() {
} ) ;
} ) ;
test ( "fingerprint throws an error if it can't find a slug" , function ( assert ) {
const fingerprint = createFingerprinter ( 'Datacenter' , 'Namespace' , 'default' ) ;
const fingerprint = createFingerprinter ( 'Datacenter' , 'Namespace' ) ;
[
{ } ,
{