| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { containsVariable, assignModelProperties } from '../variable';
- describe('containsVariable', function() {
- describe('when checking if a string contains a variable', function() {
- it('should find it with $var syntax', function() {
- var contains = containsVariable('this.$test.filters', 'test');
- expect(contains).toBe(true);
- });
- it('should not find it if only part matches with $var syntax', function() {
- var contains = containsVariable('this.$serverDomain.filters', 'server');
- expect(contains).toBe(false);
- });
- it('should find it if it ends with variable and passing multiple test strings', function() {
- var contains = containsVariable(
- 'show field keys from $pgmetric',
- 'test string2',
- 'pgmetric'
- );
- expect(contains).toBe(true);
- });
- it('should find it with [[var]] syntax', function() {
- var contains = containsVariable('this.[[test]].filters', 'test');
- expect(contains).toBe(true);
- });
- it('should find it when part of segment', function() {
- var contains = containsVariable('metrics.$env.$group-*', 'group');
- expect(contains).toBe(true);
- });
- it('should find it its the only thing', function() {
- var contains = containsVariable('$env', 'env');
- expect(contains).toBe(true);
- });
- it('should be able to pass in multiple test strings', function() {
- var contains = containsVariable('asd', 'asd2.$env', 'env');
- expect(contains).toBe(true);
- });
- });
- });
- describe('assignModelProperties', function() {
- it('only set properties defined in defaults', function() {
- var target: any = { test: 'asd' };
- assignModelProperties(target, { propA: 1, propB: 2 }, { propB: 0 });
- expect(target.propB).toBe(2);
- expect(target.test).toBe('asd');
- });
- it('use default value if not found on source', function() {
- var target: any = { test: 'asd' };
- assignModelProperties(target, { propA: 1, propB: 2 }, { propC: 10 });
- expect(target.propC).toBe(10);
- });
- });
|