jest
  .dontMock('../burger')

faker = require('faker')
Burger = require('../burger')

describe 'Burger', ->

  describe '.registerClass', ->

    it 'Registers a declared class based on its name', ->
      name = faker.name.firstName()
      cons = { name }

      Burger.registerClass(cons)

      find = Burger.findClass(name)

      expect(find).toEqual(cons)


  describe '.isRegistered', ->

    it 'checks whether the class of an instance been registered', ->
      name = faker.name.firstName()
      cons = { name }

      expect(Burger.isRegistered(cons)).toEqual(false)

      Burger.registerClass(cons)
      expect(Burger.isRegistered(cons)).toEqual(true)

  describe '.getTag', ->

    it 'returns the element tag', ->
      stub = faker.random.number()
      attributes = { "#{Burger.TAG}": stub }
      element = { attributes }

      expect(Burger.getTag(element)).toEqual(stub)
