public async Task AddImageToBicycle()
        {
            var options        = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("add_image").Options;
            var dbContext      = new ApplicationDbContext(options);
            var imageService   = new ImageService(dbContext);
            var bicycleService = new BicycleService(dbContext, imageService);

            AutoMapperConfig.RegisterMappings(typeof(BicycleViewModel).Assembly, typeof(Bicycle).Assembly);
            AutoMapperConfig.RegisterMappings(typeof(EditBicycleViewModel).Assembly, typeof(Bicycle).Assembly);

            var addBycicle1 = new AddBycicleViewModel()
            {
                Type         = BicycleType.Mountain,
                Made         = "Something",
                Speeds       = 21,
                Size         = BicycleSize.M,
                SizeOfTires  = 21,
                PriceForHour = 21,
                Description  = "Something",
            };

            var imagePath     = "Test";
            var addedBycicle1 = await bicycleService.AddVehicle <AddBycicleViewModel>(addBycicle1);

            await bicycleService.AddImageUrls(addedBycicle1, imagePath);

            var bycicles = bicycleService.GetAll <BicycleViewModel>(false);
            var result   = bicycleService.EditDetails <BicycleViewModel>(addedBycicle1);

            Assert.Equal(imagePath, result.ImageUrl);
        }
        public async Task LoanVehicle()
        {
            var options        = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("Database_For_Tests").Options;
            var dbContext      = new ApplicationDbContext(options);
            var userService    = new UserService(dbContext);
            var orderService   = new OrderService(dbContext, userService);
            var imageService   = new ImageService(dbContext);
            var bicycleService = new BicycleService(dbContext, imageService);

            AutoMapperConfig.RegisterMappings(typeof(LoanOrderViewModel).Assembly, typeof(Order).Assembly);

            var vehicle = new Bicycle()
            {
                Id           = 1,
                Type         = BicycleType.Mountain,
                Made         = "Something",
                Speeds       = 21,
                Size         = BicycleSize.M,
                SizeOfTires  = 21,
                PriceForHour = 21,
                Description  = "Something",
                ImageUrl     = "Test",
            };
            var user = new ApplicationUser()
            {
                Id          = "Test",
                FirstName   = "Petroslav",
                LastName    = "Gochev",
                Email       = "*****@*****.**",
                PhoneNumber = "0889636768",
                Age         = 24,
            };

            dbContext.Add <ApplicationUser>(user);
            dbContext.Add <Bicycle>(vehicle);

            var orders = new LoanOrderViewModel()
            {
                VehicleId   = 1,
                VehicleType = BicycleType.Mountain.ToString(),
                UserId      = "Test",
                Address     = "Stara Planina",
                DateFrom    = DateTime.Now,
                UserName    = "******",
                FirstName   = "Petroslav",
                LastName    = "Gochev",
                Email       = "*****@*****.**",
                ImageUrl    = "Gochev",
            };

            await orderService.LoanVehicle(orders);

            Assert.Empty(user.Orders);
        }
        public async Task DeleteBicycle()
        {
            var options        = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("delete_bicycle").Options;
            var dbContext      = new ApplicationDbContext(options);
            var imageService   = new ImageService(dbContext);
            var bicycleService = new BicycleService(dbContext, imageService);

            AutoMapperConfig.RegisterMappings(typeof(BicycleViewModel).Assembly, typeof(Bicycle).Assembly);

            var addBycicle1 = new AddBycicleViewModel()
            {
                Type         = BicycleType.Mountain,
                Made         = "Something",
                Speeds       = 21,
                Size         = BicycleSize.M,
                SizeOfTires  = 21,
                PriceForHour = 21,
                Description  = "Something",
            };

            var addBycicle2 = new AddBycicleViewModel()
            {
                Type         = BicycleType.Mountain,
                Made         = "Something2",
                Speeds       = 21,
                Size         = BicycleSize.M,
                SizeOfTires  = 21,
                PriceForHour = 21,
                Description  = "Something",
            };

            var addBycicle3 = new AddBycicleViewModel()
            {
                Type         = BicycleType.Mountain,
                Made         = "Something3",
                Speeds       = 21,
                Size         = BicycleSize.M,
                SizeOfTires  = 21,
                PriceForHour = 21,
                Description  = "Something",
            };

            var addedBycicle1 = await bicycleService.AddVehicle <AddBycicleViewModel>(addBycicle1);

            var addedBycicle2 = await bicycleService.AddVehicle <AddBycicleViewModel>(addBycicle2);

            var addedBycicle3 = await bicycleService.AddVehicle <AddBycicleViewModel>(addBycicle3);

            await bicycleService.Delete(addedBycicle2);

            var bycicles = bicycleService.GetAll <BicycleViewModel>(false);

            Assert.Equal(2, bycicles.ToList().Count);
        }
        public async Task EditVechicleShouldEdit()
        {
            var options        = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("Edit_tests").Options;
            var dbContext      = new ApplicationDbContext(options);
            var imageService   = new ImageService(dbContext);
            var bicycleService = new BicycleService(dbContext, imageService);

            AutoMapperConfig.RegisterMappings(typeof(EditBicycleViewModel).Assembly, typeof(Bicycle).Assembly);

            var addBycicle = new AddBycicleViewModel()
            {
                Type         = BicycleType.Mountain,
                Made         = "Something",
                Speeds       = 21,
                Size         = BicycleSize.M,
                SizeOfTires  = 21,
                PriceForHour = 21,
                Description  = "Something",
            };

            var addedBycicle = await bicycleService.AddVehicle <AddBycicleViewModel>(addBycicle);

            var editBycicle = new EditBicycleViewModel()
            {
                Id           = addedBycicle,
                Type         = BicycleType.Mountain,
                Made         = "Edited",
                Speeds       = 21,
                Size         = BicycleSize.M,
                SizeOfTires  = 21,
                PriceForHour = 21,
                Description  = "Something",
            };

            await bicycleService.DoEdit <EditBicycleViewModel>(editBycicle);

            var editedBycicle = bicycleService.EditDetails <EditBicycleViewModel>(addedBycicle);

            Assert.Equal("Edited", editedBycicle.Made);
        }
        public async Task AddBicycleTests()
        {
            var options        = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("Database_For_Tests").Options;
            var dbContext      = new ApplicationDbContext(options);
            var imageService   = new ImageService(dbContext);
            var bicycleService = new BicycleService(dbContext, imageService);

            var model = new AddBycicleViewModel()
            {
                Type         = BicycleType.Mountain,
                Made         = "Something",
                Speeds       = 21,
                Size         = BicycleSize.M,
                SizeOfTires  = 21,
                PriceForHour = 21,
                Description  = "Something",
            };

            var bicycle = await bicycleService.AddVehicle <AddBycicleViewModel>(model);

            Assert.Equal(1, bicycle);
        }
예제 #6
0
 public BicycleController(BicycleService bicycleService)
 {
     _bicycleService = bicycleService;
 }
 public BicycleController(BicycleService bicycleService, IOperationCounter <Bicycle> operationCounter)
 {
     _bicycleService   = bicycleService;
     _operationCounter = operationCounter;
 }