Home Manual Reference Source Test Repository

tests/Serializer/AbstractSerializerTest.js

  1. /*
  2. * This file is part of the serializerjs package.
  3. *
  4. * (c) HAIRCVT <tfidry@haircvt.com>
  5. *
  6. * For the full copyright and license information, please view the LICENSE
  7. * file that was distributed with this source code.
  8. */
  9.  
  10. /* eslint-env mocha */
  11.  
  12. import { assert } from 'chai';
  13.  
  14. import AbstractSerializer from './../../src/Serializer/AbstractSerializer';
  15. import SerializerInterface from './../../src/Serializer/SerializerInterface';
  16.  
  17. /** @test {AbstractSerializer} */
  18. describe('AbstractSerializer', () => {
  19. /**
  20. * @test {AbstractSerializer#constructor}
  21. */
  22. it('It implements the SerializerInterface interface', () => {
  23. assert.isTrue(AbstractSerializer.prototype instanceof SerializerInterface);
  24. });
  25.  
  26. /**
  27. * @test {AbstractSerializer#supportsDeserialize}
  28. * @test {AbstractSerializer#supportsSerialize}
  29. */
  30. it('It should not supports any (de)-serialization', () => {
  31. const abstractSerializer = new AbstractSerializer();
  32.  
  33. assert.isFalse(abstractSerializer.supportsDeserialize());
  34. assert.isFalse(abstractSerializer.supportsSerialize());
  35. });
  36.  
  37. /**
  38. * @test {AbstractSerializer#deserialize}
  39. * @test {AbstractSerializer#serialize}
  40. */
  41. it('It should return the object unchanged if (de)-serialization is called [warning: bad practice]', () => {
  42. const abstractSerializer = new AbstractSerializer();
  43. const data = {};
  44.  
  45. assert.strictEqual(abstractSerializer.deserialize(data), data);
  46. assert.strictEqual(abstractSerializer.serialize(data), data);
  47. });
  48. });