code: def test_add_records_validation_error(
      record: FeedbackRecord,
      allow_extra_metadata: bool,
      exception_cls: Exception,
      exception_msg: str,
  ) -> None:
      dataset = FeedbackDataset(
          fields=[
              TextField(name="required-field", required=True),
              TextField(name="optional-field", required=False),
          ],
          questions=[TextQuestion(name="question", required=True)],
          metadata_properties=[
              TermsMetadataProperty(
                  name="terms-metadata", values=["a", "b", "c"]
              ),
              IntegerMetadataProperty(
                  name="int-metadata", min=0, max=10
              ),
              FloatMetadataProperty(
                  name="float-metadata", min=0.0, max=10.0
              ),
          ],
          vectors_settings=[
              VectorSettings(name="vector-1", dimensions=3),
              VectorSettings(name="vector-2", dimensions=4),
          ],
          allow_extra_metadata=allow_extra_metadata,
      )
  
      with pytest.raises(exception_cls, match=exception_msg):
          dataset.add_records(record)
      assert len(dataset.records) == 0
  
imports: from typing import TYPE_CHECKING, List, Type
  import numpy.array_api
  import pytest
  from argilla import RatingQuestion
  from argilla.client.feedback.dataset.local.dataset import FeedbackDataset
  from argilla.client.feedback.schemas.fields import TextField
  from argilla.client.feedback.schemas.metadata import FloatMetadataProperty, IntegerMetadataProperty, TermsMetadataProperty
  from argilla.client.feedback.schemas.questions import TextQuestion
  from argilla.client.feedback.schemas.records import FeedbackRecord
  from argilla.client.feedback.schemas.vector_settings import VectorSettings
label_desc: Use image node_id 3 for calling a global function with example usage: test_add_records_validation_error(record, allow_extra_metadata, exception_cls, exception_msg) without return types