﻿import { AvatarModifier } from '../../src/components/generated/pb/AvatarModifierArea.gen'
import { Engine } from '../../src/engine'

describe.skip('Generated Avatar ModifierArea ProtoBuf', () => {
  it('should serialize/deserialize Avatar Modifier Area', () => {
    const newEngine = Engine()
    const { AvatarModifierArea } = newEngine.baseComponents
    const entity = newEngine.addEntity()
    const entityB = newEngine.addEntity()

    const avatarModifierArea = AvatarModifierArea.create(entity, {
      area: { x: 1, y: 2, z: 3 },
      modifiers: [
        AvatarModifier.DISABLE_PASSPORTS,
        AvatarModifier.HIDE_AVATARS
      ],
      excludeIds: ['exclude', 'testIdReal', 'numberAndString12837127371']
    })

    AvatarModifierArea.create(entityB, {
      area: { x: 3, y: 4, z: 5 },
      modifiers: [AvatarModifier.UNRECOGNIZED],
      excludeIds: ['exclude_this', 'testId', '12837127371']
    })
    const buffer = AvatarModifierArea.toBinary(entity)
    AvatarModifierArea.updateFromBinary(entityB, buffer)

    expect(avatarModifierArea).toEqual({
      ...AvatarModifierArea.mutable(entityB)
    })

    expect(AvatarModifierArea.createOrReplace(entityB)).not.toEqual({
      ...AvatarModifierArea.mutable(entity)
    })
  })
})
