kstoyanov

03. Info Parser- 23 February 2020 - exam

Oct 19th, 2020
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. describe('Parser class functionality', () => {
  2.   let expectedResult;
  3.   let actualResult;
  4.   let parser;
  5.   let willThrow;
  6.  
  7.   beforeEach(() => {
  8.     parser = new Parser('[ {"Nancy":"architect"},{"John":"developer"},{"Kate": "HR"} ]');
  9.     expectedResult = '';
  10.     actualResult = '';
  11.     willThrow;
  12.   });
  13.  
  14.   describe('constructor functionality', () => {
  15.     it('creates a new class object, parsing to JSON the given input', () => {
  16.       expectedResult = [{ Nancy: 'architect' }, { John: 'developer' }, { Kate: 'HR' }];
  17.       assert.deepEqual(expectedResult, parser._data);
  18.       assert.deepEqual([], parser._log);
  19.       assert.deepEqual('function', typeof parser._addToLog);
  20.     });
  21.   });
  22.  
  23.   describe('data getter functionality', () => {
  24.     it('adds to log array, data getter action', () => {
  25.       parser.data;
  26.       actualResult = parser._log;
  27.       expectedResult = '0: getData';
  28.  
  29.       assert.equal(expectedResult, actualResult);
  30.     });
  31.  
  32.     it('returns proper _data array', () => {
  33.       actualResult = parser.data;
  34.       expectedResult = [{ Nancy: 'architect' }, { John: 'developer' }, { Kate: 'HR' }];
  35.  
  36.       assert.deepEqual(expectedResult, actualResult);
  37.     });
  38.   });
  39.  
  40.   describe('print method functionality', () => {
  41.     it('adds to log array print info', () => {
  42.       parser.print();
  43.       actualResult = parser._log;
  44.       expectedResult = '0: print';
  45.  
  46.       assert.equal(expectedResult, actualResult);
  47.     });
  48.  
  49.     it('returns a proper message like a table', () => {
  50.       expectedResult = 'id|name|position\n0|Nancy|architect\n1|John|developer\n2|Kate|HR';
  51.       actualResult = parser.print();
  52.  
  53.       assert.equal(expectedResult, actualResult);
  54.     });
  55.   });
  56.  
  57.   describe('addEntries method functionality', () => {
  58.     it('adds to log array addEntries action', () => {
  59.       parser.addEntries('Steven:tech-support Edd:administrator');
  60.       actualResult = parser._log;
  61.       expectedResult = '0: addEntries';
  62.  
  63.       assert.equal(expectedResult, actualResult);
  64.     });
  65.  
  66.     it('adds to data, passed info', () => {
  67.       actualResult = parser.addEntries('Steven:tech-support Edd:administrator');
  68.       expectedResult = [{ Nancy: 'architect' }, { John: 'developer' }, { Kate: 'HR' }, { Steven: 'tech-support' }, { Edd: 'administrator' }];
  69.  
  70.       assert.deepEqual(expectedResult, parser.data);
  71.     });
  72.  
  73.     it('return proper message', () => {
  74.       actualResult = parser.addEntries('Steven:tech-support Edd:administrator');
  75.       expectedResult = 'Entries added!';
  76.  
  77.       assert.equal(expectedResult, actualResult);
  78.     });
  79.   });
  80.  
  81.   describe('removeEntry method functionality', () => {
  82.     it('adds to log array removeEntry action', () => {
  83.       parser.removeEntry('Kate');
  84.       actualResult = parser._log;
  85.       expectedResult = '0: removeEntry';
  86.  
  87.       assert.equal(expectedResult, actualResult);
  88.     });
  89.  
  90.     it('returns roper messages', () => {
  91.       actualResult = parser.removeEntry('Kate');
  92.       expectedResult = 'Removed correctly!';
  93.  
  94.       assert.equal(expectedResult, actualResult);
  95.     });
  96.  
  97.     it('removes entries from a data array', () => {
  98.       actualResult = parser.removeEntry('Kate');
  99.       expectedResult = [{ Nancy: 'architect' }, { John: 'developer' }];
  100.  
  101.       assert.deepEqual(expectedResult, parser.data);
  102.     });
  103.   });
  104. });
Advertisement
Add Comment
Please, Sign In to add comment