Esempio n. 1
0
        public void DeletePlateByNumber_WhenPlateNumberExist_ShouldSucceed()
        {
            //Arrange
            var missingPlateObj = new MissingLicensePlate()
            {
                PlateNumber = "ZOO555"
            };
            var fakeIQueryable = new List <MissingLicensePlate>()
            {
                new MissingLicensePlate()
                {
                    PlateNumber = "ZZZ123"
                },
                missingPlateObj
            }.AsQueryable();

            var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeHucaresContext = A.Fake <HucaresContext>();

            A.CallTo(() => fakeHucaresContext.MissingLicensePlates)
            .Returns(fakeDbSet);

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

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

            var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory);

            //Act
            var result = missingPlateHelper.DeletePlateByNumber(missingPlateObj.PlateNumber);

            //Assert
            A.CallTo(() => fakeDbContextFactory.BuildHucaresContext())
            .MustHaveHappenedOnceExactly();

            A.CallTo(() => fakeDbSet.Remove(missingPlateObj))
            .MustHaveHappenedOnceExactly();

            A.CallTo(() => fakeHucaresContext.SaveChanges())
            .MustHaveHappenedOnceExactly();

            result.ShouldBe(missingPlateObj);
        }
Esempio n. 2
0
        public void DeletePlateByNumber_WhenPlateWithNumberDoesNotExist_ShouldThrow()
        {
            //Arrange
            var fakeIQueryable = new List <MissingLicensePlate>().AsQueryable();
            var fakeDbSet      = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable);

            var fakeHucaresContext = A.Fake <HucaresContext>();

            A.CallTo(() => fakeHucaresContext.MissingLicensePlates)
            .Returns(fakeDbSet);

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

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

            var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory);

            //Act & Assert
            Assert.Throws <ArgumentException>(() => missingPlateHelper.DeletePlateByNumber("TRO555"));

            A.CallTo(() => fakeHucaresContext.SaveChanges())
            .MustNotHaveHappened();
        }