public void GetAllActiveDetectedPlatesByPlateNumber_WithEndDateAfterMLP_ShouldReturn() { //Arrange var expectedDetectedPlate = new DetectedLicensePlate() { Id = 0, PlateNumber = "ABC001", DetectedDateTime = new DateTime(2018, 10, 10) }; var fakeDetectedPlateList = new List <DetectedLicensePlate>() { expectedDetectedPlate, new DetectedLicensePlate() { Id = 2, PlateNumber = "ABC001", DetectedDateTime = new DateTime(2018, 09, 10) }, new DetectedLicensePlate() { Id = 3, PlateNumber = "ABC001", DetectedDateTime = new DateTime(2018, 11, 10) } }; var fakeMissingPlateList = new List <MissingLicensePlate>() { new MissingLicensePlate() { Id = 0, PlateNumber = expectedDetectedPlate.PlateNumber, SearchStartDateTime = new DateTime(2018, 10, 05), SearchEndDateTime = new DateTime(2018, 10, 15) } }; 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.GetPlateRecordByPlateNumber(expectedDetectedPlate.PlateNumber)) .Returns(fakeMissingPlateList); var detectedPlateHelper = new DetectedPlateHelper(fakeDbContextFactory, fakeMissingPlateHelper); //Act var result = detectedPlateHelper.GetAllActiveDetectedPlatesByPlateNumber(plateNumber: expectedDetectedPlate.PlateNumber, endDateTime: new DateTime(2018, 11, 25)).ToList(); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()).MustHaveHappened(); result.Count().ShouldBe(1); result.FirstOrDefault().ShouldBe(expectedDetectedPlate); }
public void GetAllActiveDetectedPlatesByPlateNumber_WithStartDateEarlierThanEndDate_ShouldThrowError() { //Arrange var fakeHucaresContext = A.Fake <HucaresContext>(); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeMissingPlatesRecords = new List <MissingLicensePlate>() { new MissingLicensePlate() { PlateNumber = "ABC001" } }; var fakeMissingPlateHelper = A.Fake <IMissingPlateHelper>(); A.CallTo(() => fakeMissingPlateHelper.GetPlateRecordByPlateNumber("ABC001")) .Returns(fakeMissingPlatesRecords); var detectedPlateHelper = new DetectedPlateHelper(fakeDbContextFactory, fakeMissingPlateHelper); //Act Assert.Throws <ArgumentException>(() => detectedPlateHelper.GetAllActiveDetectedPlatesByPlateNumber(plateNumber: "ABC001", startDateTime: new DateTime(2018, 10, 05), endDateTime: new DateTime(2018, 09, 05))); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()).MustNotHaveHappened(); }
public void GetAllActiveDetectedPlatesByPlateNumber_WithPlateNumberWithDates_ShouldReturnExpected() { //Arrange var expectedDetectedPlate = new DetectedLicensePlate() { Id = 1, PlateNumber = "ABC002", DetectedDateTime = new DateTime(2018, 10, 10), CamId = 2, ImgUrl = "http://localhost:6969/images", Confidence = 0.80 }; var fakeDetectedPlateList = new List <DetectedLicensePlate>() { expectedDetectedPlate, new DetectedLicensePlate() { Id = 0, PlateNumber = "ABC002", DetectedDateTime = new DateTime(2018, 09, 30), CamId = 1, ImgUrl = "http://localhost:6969/images", Confidence = 0.75 }, new DetectedLicensePlate() { Id = 2, PlateNumber = "ABC002", DetectedDateTime = new DateTime(2018, 09, 20), CamId = 2, ImgUrl = "http://localhost:6969/images", Confidence = 0.80 } }; var fakeMissingPlateList = new List <MissingLicensePlate>() { new MissingLicensePlate() { Id = 0, PlateNumber = expectedDetectedPlate.PlateNumber, SearchStartDateTime = new DateTime(2018, 09, 25), SearchEndDateTime = null } }; 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.GetPlateRecordByPlateNumber(expectedDetectedPlate.PlateNumber)) .Returns(fakeMissingPlateList); var detectedPlateHelper = new DetectedPlateHelper(fakeDbContextFactory, fakeMissingPlateHelper); //Act var result = detectedPlateHelper.GetAllActiveDetectedPlatesByPlateNumber(plateNumber: expectedDetectedPlate.PlateNumber, startDateTime: new DateTime(2018, 10, 05)); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()).MustHaveHappened(); result.Count().ShouldBe(1); result.FirstOrDefault().ShouldBe(expectedDetectedPlate); }
public IHttpActionResult GetAllDetectedPlatesByPlateNumber(string plateNumber, DateTime?startDateTime = null, DateTime?endDateTime = null) { return(Json(DetectedPlateHelper.GetAllActiveDetectedPlatesByPlateNumber(plateNumber, startDateTime, endDateTime))); }