public void EditBodyTypeCorrectly_WhenValidParametersArePassed()
        {
            //arrange
            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;

            string result;
            Car    testCar;

            string[] validParameters = new string[2] {
                "1", "Sedan"
            };
            string expectedBodyTypeName = validParameters[1];

            using (var dealerShipContext = new DealershipContext(contextOptions))
            {
                var testBody = new BodyType()
                {
                    Name = "Sedan"
                };

                var unitOfWork = new UnitOfWork(dealerShipContext);

                testCar = new Car()
                {
                    Brand = new Brand()
                    {
                        Name = "test"
                    }
                    , Model    = "test"
                    , BodyType = new BodyType()
                    {
                        Name = "Coupe"
                    }
                };

                dealerShipContext.Cars.Add(testCar);
                dealerShipContext.Chassis.Add(testBody).Context.SaveChanges();

                var carServiceStub = new Mock <ICarService>();

                carServiceStub.Setup(cs => cs.CreateCar(It.IsAny <string>(), It.IsAny <string>()
                                                        , It.IsAny <short>(), It.IsAny <short>(), It.IsAny <DateTime>()
                                                        , It.IsAny <decimal>(), It.IsAny <string>(), It.IsAny <string>()
                                                        , It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()
                                                        , It.IsAny <int>())).Returns(testCar);

                carServiceStub.Setup(cs => cs.GetCar(1)).Returns(testCar);

                var editCarService = new Services.EditCarService(unitOfWork, carServiceStub.Object);

                result = editCarService.EditBodyType(validParameters);
            }

            Assert.IsTrue(result.Contains("edited"));
            Assert.IsTrue(testCar.BodyType.Name == expectedBodyTypeName);
        }
Ejemplo n.º 2
0
        public void CreateNewBrand_IfInputBrandNotExistsInDatabase()
        {
            //arrange
            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;

            string result;
            Car    testCar;

            string[] validParameters = new string[2] {
                "1", "unexistingBrand"
            };
            string expectedBrandName = validParameters[1];

            //using (var dealerShipContext = new DealershipContext(contextOptions))
            //{
            //    var testBrand = new Brand() { Name = "testBrand" };

            //    var unitOfWork = new UnitOfWork(dealerShipContext);

            //    testCar = new Car() { Brand = testBrand };

            //    var carServiceStub = new Mock<ICarService>();
            //    carServiceStub.Setup(cs => cs.GetCar(1)).Returns(testCar);

            //    var editCarService = new Services.EditCarService(unitOfWork, carServiceStub.Object);

            //    result = editCarService.EditBrand(validParameters);
            //}

            using (var arrangeContext = new DealershipContext(contextOptions))
            {
                var unitOfWork = new UnitOfWork(arrangeContext);
                var testBrand  = new Brand()
                {
                    Name = "testBrand"
                };


                testCar = new Car()
                {
                    Brand = testBrand, Model = "test"
                };
                arrangeContext.Cars.Add(testCar).Context.SaveChanges();

                var carServiceStub = new Mock <ICarService>();
                carServiceStub.Setup(cs => cs.GetCar(1)).Returns(testCar);

                var editCarService = new Services.EditCarService(unitOfWork, carServiceStub.Object);

                result = editCarService.EditBrand(validParameters);
            }


            Assert.IsTrue(testCar.Brand.Name == expectedBrandName);
        }
        public void InitializeCarServiceCorrectly_WhenValidArgumentIsPassed()
        {
            var unitOfWorkStub = new Mock <IUnitOfWork>();
            var carServiceStub = new Mock <ICarService>();

            var sut = new Services.EditCarService(unitOfWorkStub.Object, carServiceStub.Object);

            Assert.IsInstanceOfType(sut.CarService, typeof(ICarService));
        }
Ejemplo n.º 4
0
        public void ThrowArgumentNullException_WhenNullArgumentIsPassed()
        {
            //arrange
            var unitOfWorkStub = new Mock <IUnitOfWork>();
            var carServiceStub = new Mock <ICarService>();

            var editCarService = new Services.EditCarService(unitOfWorkStub.Object, carServiceStub.Object);

            //act&assert
            Assert.ThrowsException <ArgumentNullException>(() => editCarService.EditModel(null));
        }
Ejemplo n.º 5
0
        public void ThrowArgumentNullException_WhenNullValueIsPassed()
        {
            var unitOfWorkStub = new Mock <IUnitOfWork>();
            var carServiceStub = new Mock <ICarService>();

            string[] invalidParameters = null;

            var sut = new Services.EditCarService(unitOfWorkStub.Object, carServiceStub.Object);

            Assert.ThrowsException <ArgumentNullException>(() => sut.EditBrand(invalidParameters));
        }
Ejemplo n.º 6
0
        public void ThrowArgumentException_WhenEmptyParametersArePassed()
        {
            var unitOfWorkStub = new Mock <IUnitOfWork>();
            var carServiceStub = new Mock <ICarService>();

            var invalidParameters = new string[0];

            var sut = new Services.EditCarService(unitOfWorkStub.Object, carServiceStub.Object);

            Assert.ThrowsException <ArgumentException>(() => sut.EditBrand(invalidParameters));
        }
        public void ThowArgumentException_WhenInvalidIDIsPassed()
        {
            var unitOfWorkStub = new Mock <IUnitOfWork>();
            var carServiceStub = new Mock <ICarService>();

            string[] validParameters = { "invalidID", "test" };

            var sut = new Services.EditCarService(unitOfWorkStub.Object, carServiceStub.Object);

            Assert.ThrowsException <ArgumentException>(() => sut.EditHorsePower(validParameters));
        }
Ejemplo n.º 8
0
        public void ThrowArgumentNullException_WhenNoArgumentArePassed()
        {
            //arrange
            var unitOfWorkStub = new Mock <IUnitOfWork>();
            var carServiceStub = new Mock <ICarService>();

            var emptyArray = new string[3];

            var editCarService = new Services.EditCarService(unitOfWorkStub.Object, carServiceStub.Object);

            //act&assert
            Assert.ThrowsException <ArgumentException>(() => editCarService.EditModel(emptyArray));
        }
Ejemplo n.º 9
0
        public void InitializeEditCarsServiceCorrectly_WhenValidArgumentsArePassed()
        {
            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;

            var context        = new DealershipContext(contextOptions);
            var carServiceStub = new Mock <ICarService>();

            var sut = new Services.EditCarService(context, carServiceStub.Object);

            Assert.IsInstanceOfType(sut, typeof(IEditCarService));
        }
Ejemplo n.º 10
0
        public void ThrowArgumentException_WhenInvalidIdInParametersIsPassed()
        {
            //arrange
            var unitOfWorkStub = new Mock <IUnitOfWork>();
            var carServiceStub = new Mock <ICarService>();

            string[] invalidParameters = new string[2] {
                "invalid", "test"
            };

            var editCarService = new Services.EditCarService(unitOfWorkStub.Object, carServiceStub.Object);

            //Act&assert
            Assert.ThrowsException <ArgumentException>(() => editCarService.EditBrand(invalidParameters));
        }
Ejemplo n.º 11
0
        public void ThrowArgumentNullException_WhenNullValueIsPassed()
        {
            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;
            IEditCarService sut;

            using (var dealerShipContext = new DealershipContext(contextOptions))
            {
                var carServiceStub = new Mock <ICarService>();
                sut = new Services.EditCarService(dealerShipContext, carServiceStub.Object);
            }

            Assert.ThrowsException <ArgumentNullException>(() => sut.EditBodyType(null));
        }
Ejemplo n.º 12
0
        public void EditBrandCorrectly_WhenValidParametersArePassed()
        {
            //arrange
            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;

            string result;
            Car    testCar;

            string[] validParameters = new string[2] {
                "1", "newBrand"
            };
            string expectedBrandName = validParameters[1];

            using (var dealerShipContext = new DealershipContext(contextOptions))
            {
                var testBrand = new Brand()
                {
                    Name = "testBrand"
                };
                var testNewBrand = new Brand()
                {
                    Name = "newBrand"
                };

                dealerShipContext.Brands.Add(testNewBrand).Context.SaveChanges();

                var unitOfWork = new UnitOfWork(dealerShipContext);

                testCar = new Car()
                {
                    Brand = testBrand
                };
                dealerShipContext.Cars.Add(testCar).Context.SaveChanges();
                var carServiceStub = new Mock <ICarService>();

                carServiceStub.Setup(cs => cs.GetCar(1)).Returns(testCar);

                var editCarService = new Services.EditCarService(unitOfWork, carServiceStub.Object);

                result = editCarService.EditBrand(validParameters);
            }

            Assert.IsTrue(result.Contains("edited"));
            Assert.IsTrue(testCar.Brand.Name == expectedBrandName);
        }
Ejemplo n.º 13
0
        public void ThowArgumentException_WhenInvalidIDIsPassed()
        {
            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;

            string[]        validParameters = { "invalidID", "test" };
            IEditCarService sut;

            using (var dealershipContext = new DealershipContext(contextOptions))
            {
                var carServiceStub = new Mock <ICarService>();

                sut = new Services.EditCarService(dealershipContext, carServiceStub.Object);
            }
            Assert.ThrowsException <ArgumentException>(() => sut.EditHorsePower(validParameters));
        }
Ejemplo n.º 14
0
        public void ThrowArgumentException_WhenInvalidIdInParametersIsPassed()
        {
            //arrange
            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;
            IEditCarService sut;

            string[] invalidParameters = { "asd", "test" };

            using (var dealerShipContext = new DealershipContext(contextOptions))
            {
                var carServiceStub = new Mock <ICarService>();

                sut = new Services.EditCarService(dealerShipContext, carServiceStub.Object);
            }
            //Act&assert
            Assert.ThrowsException <ArgumentException>(() => sut.EditBrand(invalidParameters));
        }
Ejemplo n.º 15
0
        public void ThrowArgumentNullException_WhenNoArgumentArePassed()
        {
            //arrange
            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;

            IEditCarService sut;
            var             emptyArray = new string[3];

            using (var dealershipContext = new DealershipContext(contextOptions))
            {
                var carServiceStub = new Mock <ICarService>();
                sut = new Services.EditCarService(dealershipContext, carServiceStub.Object);
            }

            //act&assert
            Assert.ThrowsException <ArgumentException>(() => sut.EditModel(emptyArray));
        }
        public void EditHorsePowerValueCorrectly_WhenValidParametersArePassed()
        {
            var testCar = new Car()
            {
                Brand = new Brand()
                {
                    Name = "test"
                },
                Model      = "test",
                HorsePower = 100
            };

            var validParameters = new string[2] {
                "1", "333"
            };
            var expectedValue = int.Parse(validParameters[1]);

            var contextOptions = new DbContextOptionsBuilder <DealershipContext>()
                                 .UseInMemoryDatabase(databaseName:
                                                      "EditModelCorrectly_WhenValidParametersArePassed").Options;


            string            result;
            DealershipContext context;

            using (context = new DealershipContext(contextOptions))
            {
                var unitOfWork = new UnitOfWork(context);

                context.Cars.Add(testCar).Context.SaveChanges();

                var carService = new Mock <Services.CarService>();
                carService.Setup(x => x.GetCar(1)).Returns(testCar);

                var sut = new Services.EditCarService(unitOfWork, carService.Object);

                result = sut.EditHorsePower(validParameters);
            }
            //assert
            Assert.IsTrue(result.Contains("edited"));
            Assert.IsTrue(testCar.HorsePower == expectedValue);
        }