using AsbCloudApp.Data.ProcessMaps.Functions;
using AsbCloudDb.Model.ProcessMapPlan.Functions;
using AsbCloudWebApi.IntegrationTests;
using AsbCloudWebApi.IntegrationTests.Controllers.ProcessMapPlan;
using Microsoft.EntityFrameworkCore;
using Xunit;

namespace AsbCloudWebApi.IntegrationTests.Controllers.ProcessMapPlan.Functions;

/// <summary>
/// РТК план противоаварийное вращение
/// </summary>
public class ProcessMapPlanAntiCrashRotationControllerTest :
   ProcessMapPlanBaseControllerTest<ProcessMapPlanAntiCrashRotation, ProcessMapPlanAntiCrashRotationDto>
{
    public ProcessMapPlanAntiCrashRotationControllerTest(WebAppFactoryFixture factory) : base(factory, "ProcessMapPlanAntiCrashRotation")
    {
    }
    private readonly ProcessMapPlanAntiCrashRotationDto dto = new ProcessMapPlanAntiCrashRotationDto()
    {
        IdWell = 1,
        DepthStart = 1,
        DepthEnd = 2,
        Id = 0,
        IdWellSectionType = 1,
        Note = "1",
        TopDriveRpmMin = 1,
        TopDriveStartMinFlowRate = 1,
        TopDriveTorqueMax = 1,
    };

    private readonly ProcessMapPlanAntiCrashRotation entity = new ProcessMapPlanAntiCrashRotation()
    {
        IdWell = 1,
        DepthEnd = 10,
        DepthStart = 2,
        Id = 0,
        IdWellSectionType = 1,
        IdAuthor = 1,
        IdEditor = 1,
        Creation = DateTimeOffset.UtcNow,
        Note = "1",
        TopDriveRpmMin = 1,
        TopDriveStartMinFlowRate = 1,
        TopDriveTorqueMax = 1
    };

    [Fact]
    public async Task Get_actual_returns_success()
    {
        await Get(entity, dto);
    }

    protected override ProcessMapPlanAntiCrashRotation GetByNote(DbSet<ProcessMapPlanAntiCrashRotation> dbSet, ProcessMapPlanAntiCrashRotationDto dto)
    {
        throw new NotImplementedException();
    }

    protected override ProcessMapPlanAntiCrashRotationDto GetByNote(IEnumerable<ProcessMapPlanAntiCrashRotationDto> dtos, ProcessMapPlanAntiCrashRotationDto dto)
    {
        throw new NotImplementedException();
    }

    protected override ProcessMapPlanAntiCrashRotation? GetByWellId()
    {
        throw new NotImplementedException();
    }
}