public void GetAllDetectedMissingPlates_ShouldReturn()
        {
            //Arrange

            var expectedDetectedPlate = new DetectedLicensePlate()
            {
                Id    = 1, PlateNumber = "ABC002", DetectedDateTime = new DateTime(2018, 09, 30),
                CamId = 2, ImgUrl = "http://localhost:6969/images", Confidence = 0.80
            };

            var fakeDetectedPlateList = new List <DetectedLicensePlate>()
            {
                expectedDetectedPlate,
                new DetectedLicensePlate()
                {
                    Id    = 0, PlateNumber = "ABC001", DetectedDateTime = new DateTime(2018, 09, 29),
                    CamId = 1, ImgUrl = "http://localhost:6969/images", Confidence = 80
                },
                new DetectedLicensePlate()
                {
                    Id    = 2, PlateNumber = "ABC003", DetectedDateTime = new DateTime(2018, 09, 30),
                    CamId = 2, ImgUrl = "http://localhost:6969/images", Confidence = 90.0
                }
            };

            var fakeMissingPlateList = new List <MissingLicensePlate>()
            {
                new MissingLicensePlate()
                {
                    Id                  = 0,
                    PlateNumber         = expectedDetectedPlate.PlateNumber,
                    SearchStartDateTime = new DateTime(2018, 09, 29),
                    SearchEndDateTime   = null,
                    Status              = LicensePlateFoundStatus.NotFound
                }
            };

            var fakeDbSetDetectedPlates = StorageTestsUtil.SetupFakeDbSet(fakeDetectedPlateList.AsQueryable());
            var fakeHucaresContext      = A.Fake <HucaresContext>();

            A.CallTo(() => fakeHucaresContext.DetectedLicensePlates)
            .Returns(fakeDbSetDetectedPlates);

            var fakeDbContextFactory = A.Fake <IDbContextFactory>();

            A.CallTo(() => fakeDbContextFactory.BuildHucaresContext())
            .Returns(fakeHucaresContext);

            var fakeMissingPlateHelper = A.Fake <IMissingPlateHelper>();

            A.CallTo(() => fakeMissingPlateHelper.GetAllPlateRecords())
            .Returns(fakeMissingPlateList);

            var detectedPlateHelper = new DetectedPlateHelper(fakeDbContextFactory, fakeMissingPlateHelper);

            //Act
            var result = detectedPlateHelper.GetAllDetectedMissingPlates();

            //Assert
            A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()).MustHaveHappened();
            A.CallTo(() => fakeMissingPlateHelper.GetAllPlateRecords()).MustHaveHappened();
            result.Count().ShouldBe(1);
            result.FirstOrDefault().ShouldBe(expectedDetectedPlate);
        }
예제 #2
0
 public IHttpActionResult GetAllDetectedMissingPlates(int?page = null)
 {
     return(Json(DetectedPlateHelper.GetAllDetectedMissingPlates(page)));
 }