예제 #1
0
        public void Should_return_Default_Other_when_driveTrain_does_not_match()
        {
            var auto = Automobile.Create(VEHICLE_ID, MAKE, MODEL, YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, "foobar", VIN);

            auto.ShouldNotBeNull();
            auto.DriveTrain.ShouldBe(Drivetrain.Other.DisplayName);
        }
예제 #2
0
        public void Should_truncate_Vin_when_too_long()
        {
            var random = new Random();
            var vin    = TestHelpers.RandomStrings(18, 18, 1, random).First();
            var auto   = Automobile.Create(VEHICLE_ID, MAKE, MODEL, YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, DRIVETRAIN, vin);

            auto.ShouldNotBeNull();
            auto.Vin.ShouldBe(vin.Truncate(17));
        }
예제 #3
0
        public void Should_truncate_Model_when_too_long()
        {
            var random = new Random();
            var model  = TestHelpers.RandomStrings(26, 26, 1, random).First();
            var auto   = Automobile.Create(VEHICLE_ID, MAKE, model, YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldNotBeNull();
            auto.Model.ShouldBe(model.Truncate(25));
        }
예제 #4
0
        public void Should_truncate_VehicleId_when_too_long()
        {
            var random    = new Random();
            var vehicleId = TestHelpers.RandomStrings(101, 101, 1, random).First();
            var auto      = Automobile.Create(vehicleId, MAKE, MODEL, YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldNotBeNull();
            auto.VehicleId.ShouldBe(vehicleId.Truncate(100));
        }
예제 #5
0
        public void Should_return_Automobile_when_in_correct_format()
        {
            var auto = Automobile.Create(VEHICLE_ID, MAKE, MODEL, YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldNotBeNull();
            auto.VehicleId.ShouldBe(VEHICLE_ID);
            auto.Make.ShouldBe(MAKE);
            auto.Model.ShouldBe(MODEL);
            auto.Year.ShouldBe(YEAR);
            auto.Transmission.ShouldBe(TRANSMISSION);
            auto.FuelType.ShouldBe(FUEL_TYPE);
            auto.BodyStyle.ShouldBe(BODY_STYLE);
            auto.DriveTrain.ShouldBe(DRIVETRAIN);
            auto.Vin.ShouldBe(VIN);
            auto.Availablity.ShouldBe("AVAILABLE");
        }
예제 #6
0
            public async Task <long> Handle(Command command, CancellationToken cancellationToken)
            {
                var owner = await _db.Owners.FirstActiveAsync(x => x.Id == command.OwnerId).ConfigureAwait(false);

                if (owner == null)
                {
                    return(0);
                }

                var auto = Automobile.Create(command.VehicleId, command.Make, command.Model, command.Year, command.Transmission, command.FuelType,
                                             command.BodyStyle, command.DriveTrain, command.Vin);


                var vehicle = Vehicle.Create(command.OwnerId, auto, command.Title, command.Description,
                                             command.Mileage, "MI", command.Url, command.ImageUrl, "foo",
                                             command.Condition, command.Price, command.Address, command.ExteriorColor, command.SalePrice,
                                             command.StateOfVehicle, 0, 0);

                _db.Vehicles.Add(vehicle);
                _db.BeginTransaction();
                await _db.CommitTransactionAsync();

                return(vehicle.Id);
            }
예제 #7
0
        public void Should_return_null_when_fuelType_is_null()
        {
            var auto = Automobile.Create(VEHICLE_ID, MAKE, MODEL, YEAR, TRANSMISSION, null, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldBeNull();
        }
예제 #8
0
        public void Should_return_null_when_transmission_is_empty()
        {
            var auto = Automobile.Create(VEHICLE_ID, MAKE, MODEL, YEAR, "", FUEL_TYPE, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldBeNull();
        }
예제 #9
0
        public void Should_return_null_when_year_is_zero()
        {
            var auto = Automobile.Create(VEHICLE_ID, MAKE, MODEL, 0, TRANSMISSION, FUEL_TYPE, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldBeNull();
        }
예제 #10
0
        public void Should_return_null_when_model_is_empty()
        {
            var auto = Automobile.Create(VEHICLE_ID, MAKE, "", YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldBeNull();
        }
예제 #11
0
        public void Should_return_null_when_make_is_null()
        {
            var auto = Automobile.Create(VEHICLE_ID, null, MODEL, YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldBeNull();
        }
예제 #12
0
        public void Should_return_null_when_vehicleId_is_empty()
        {
            var auto = Automobile.Create("", MAKE, MODEL, YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, DRIVETRAIN, VIN);

            auto.ShouldBeNull();
        }
예제 #13
0
        public void Should_return_null_when_bodyStyle_does_not_match()
        {
            var auto = Automobile.Create(VEHICLE_ID, MAKE, MODEL, YEAR, TRANSMISSION, FUEL_TYPE, "foobar", DRIVETRAIN, VIN);

            auto.ShouldBeNull();
        }
예제 #14
0
        public void Should_return_null_when_driveTrain_is_empty()
        {
            var auto = Automobile.Create(VEHICLE_ID, MAKE, MODEL, YEAR, TRANSMISSION, FUEL_TYPE, BODY_STYLE, "", VIN);

            auto.ShouldBeNull();
        }