"""Test Views."""

from nautobot.apps.testing import ViewTestCases

from nautobot_design_builder.models import ChangeRecord, ChangeSet, Deployment, Design
from nautobot_design_builder.tests.util import create_test_view_data

# pylint: disable=missing-class-docstring


class TestCaseDesign(
    ViewTestCases.GetObjectViewTestCase,
    ViewTestCases.GetObjectChangelogViewTestCase,
    ViewTestCases.GetObjectNotesViewTestCase,
    ViewTestCases.ListObjectsViewTestCase,
):
    model = Design

    @classmethod
    def setUpTestData(cls):
        create_test_view_data()


class TestCaseDeployment(
    ViewTestCases.GetObjectViewTestCase,
    ViewTestCases.GetObjectChangelogViewTestCase,
    ViewTestCases.GetObjectNotesViewTestCase,
    ViewTestCases.ListObjectsViewTestCase,
):
    model = Deployment

    @classmethod
    def setUpTestData(cls):
        create_test_view_data()


class TestCaseChangeSet(
    ViewTestCases.GetObjectViewTestCase,
    ViewTestCases.GetObjectChangelogViewTestCase,
    ViewTestCases.GetObjectNotesViewTestCase,
    ViewTestCases.ListObjectsViewTestCase,
):
    model = ChangeSet

    @classmethod
    def setUpTestData(cls):
        create_test_view_data()


class TestCaseChangeRecord(
    ViewTestCases.GetObjectViewTestCase,
):
    model = ChangeRecord

    @classmethod
    def setUpTestData(cls):
        create_test_view_data()
