示例#1
0
        public void ShouldReturnBrandName()
        {
            //Arrange
            var ford = new VehicleBrandName()
            {
                Id = 1, Name = "Ford", IsActive = true
            };
            var opel = new VehicleBrandName()
            {
                Id = 2, Name = "Opel", IsActive = true
            };
            var vehicleBrands = new List <VehicleBrandName>();

            vehicleBrands.Add(ford);
            vehicleBrands.Add(opel);
            var mapper            = new Mock <IMapper>();
            var vehicleRepository = new Mock <IVehicleRepository>();

            vehicleRepository.Setup(x => x.GetVehicleBrandNames()).Returns(vehicleBrands.AsQueryable());
            var vehicleService = new VehicleService(vehicleRepository.Object, mapper.Object);

            var result       = vehicleService.GetBrandName(1);
            var secondResult = vehicleService.GetBrandName(2);

            result.Should().Be("Ford");
            secondResult.Should().Be("Opel");
        }
示例#2
0
        public void ShouldReturnUserCars()
        {
            var firstBrand = new VehicleBrandName()
            {
                Id = 1, Name = "Opel"
            };
            var secondBrand = new VehicleBrandName()
            {
                Id = 2, Name = "Toyota"
            };
            var thirdBrand = new VehicleBrandName()
            {
                Id = 3, Name = "Hyundai"
            };
            //Arrange
            var vehicleList = new List <Vehicle>()
            {
                new Vehicle()
                {
                    Id = 1, ApplicationUserID = "1user", IsActive = true, Model = "Corsa", VehicleBrandNameId = 1, VehicleBrandName = firstBrand, RegistrationNumber = "LUB6127"
                },
                new Vehicle()
                {
                    Id = 2, ApplicationUserID = "1user", IsActive = true, Model = "Astra", VehicleBrandNameId = 1, VehicleBrandName = firstBrand, RegistrationNumber = "LUB6128"
                },
                new Vehicle()
                {
                    Id = 3, ApplicationUserID = "1user", IsActive = true, Model = "Verso", VehicleBrandNameId = 2, VehicleBrandName = secondBrand, RegistrationNumber = "LUB6129"
                },
                new Vehicle()
                {
                    Id = 4, ApplicationUserID = "2user", IsActive = true, Model = "I30", VehicleBrandNameId = 3, VehicleBrandName = thirdBrand, RegistrationNumber = "LUB6130"
                },
                new Vehicle()
                {
                    Id = 5, ApplicationUserID = "2user", IsActive = false, Model = "Tucson", VehicleBrandNameId = 3, VehicleBrandName = thirdBrand, RegistrationNumber = "LUB6131"
                },
                new Vehicle()
                {
                    Id = 6, ApplicationUserID = "3user", IsActive = true, Model = "Santa Fe", VehicleBrandNameId = 3, VehicleBrandName = thirdBrand, RegistrationNumber = "LUB6132"
                },
                new Vehicle()
                {
                    Id = 7, ApplicationUserID = "2user", IsActive = true, Model = "Santa Fe", VehicleBrandNameId = 3, VehicleBrandName = thirdBrand, RegistrationNumber = "LUB6133"
                }
            };

            var mapper = new Mock <IMapper>();

            mapper.Setup(x => x.ConfigurationProvider)
            .Returns(
                () => new MapperConfiguration(
                    cfg =>
            {
                cfg.CreateMap <UserCarsForListVm, Vehicle>().ReverseMap()
                .ForMember(s => s.Name, opt => opt.MapFrom(x => string.Concat(x.VehicleBrandName.Name, " ", x.Model, " ", x.RegistrationNumber)));
            }));

            var repository = new Mock <IVehicleRepository>();

            repository.Setup(x => x.GetVehicles()).Returns(vehicleList.AsQueryable());
            var service = new VehicleService(repository.Object, mapper.Object);

            var repositoryWithoutObject = new Mock <IVehicleRepository>();
            var mapperW = new Mock <IMapper>();
            var serviceWithoutObject = new VehicleService(repositoryWithoutObject.Object, mapperW.Object);
            //Act
            var firstUserCars         = service.GetUserCars("1user");
            var secondUserCars        = service.GetUserCars("2user");
            var thirdUserCars         = service.GetUserCars("2usaser");
            var userCarsWithoutObject = serviceWithoutObject.GetUserCars("1user");

            //Assert
            firstUserCars.UserCars.Should().HaveCount(3);
            firstUserCars.UserCars.Should().NotBeNullOrEmpty();
            firstUserCars.UserCars[0].Name.Should().NotBeNullOrEmpty();
            firstUserCars.UserCars[0].Name.Should().Be("Opel Astra LUB6128");
            firstUserCars.UserCars[1].Name.Should().Be("Opel Corsa LUB6127");
            firstUserCars.UserCars[1].Id.Should().Be(1);
            firstUserCars.UserCars.Should().NotBeInDescendingOrder(x => x.Name);
            firstUserCars.UserCars.Should().OnlyHaveUniqueItems(x => x.Id);

            secondUserCars.UserCars.Should().HaveCount(2);
            secondUserCars.UserCars.Should().NotBeNullOrEmpty();
            secondUserCars.UserCars.Should().NotBeInDescendingOrder(x => x.Name);
            secondUserCars.UserCars[0].Name.Should().Be("Hyundai I30 LUB6130");
            secondUserCars.UserCars[0].Id.Should().Be(4);
            secondUserCars.UserCars.Should().OnlyHaveUniqueItems(x => x.Id);

            thirdUserCars.UserCars.Should().HaveCount(0);
            thirdUserCars.UserCars.Should().BeNullOrEmpty();

            userCarsWithoutObject.Should().BeNull();
        }