OData unit testing in .NET Core 6.0

31 Views Asked by At

I have a very basic controller like below with a method GetAircrafts.

The following queries work on localhost:

http://localhost:5092/api/Aircraft?$select=aircraftId

http://localhost:5092/api/Aircraft?$filter=aircraftId eq 1

Controller code:

[Route("api/[controller]")]
[ApiController]
public class AircraftController : ControllerBase
{
    private static List<Aircraft> Aircrafts = new List<Aircraft>
    {
          new  Aircraft { AircraftId = 1, AircraftRegistration = "ARR1", AircraftTailNo = "AR_Tail1", AircraftType = "Type1",AircraftSubtype="SubType1",AircraftStatus=2},
          new Aircraft { AircraftId = 2, AircraftRegistration = "ARR2", AircraftTailNo = "AR_Tail2", AircraftType = "Type2", AircraftSubtype = "SubType2", AircraftStatus = 2 },
          new Aircraft { AircraftId = 3, AircraftRegistration = "ARR3", AircraftTailNo = "AR_Tail3", AircraftType = "Type3", AircraftSubtype = "SubType3", AircraftStatus = 2 }
    };

    [HttpGet]
    [EnableQuery]
    public IActionResult GetAircrafts()
    {
        return Ok(Aircrafts);
    }
}

Can someone let me know how to write the unit tests for OData select and filter?

0

There are 0 best solutions below