public void ReadManufacturerByIdWithIdLowerThan1ThrowsException()
        {
            var manufacturerRepo = new Mock <IManufacturerRepository>();
            IManufacturerService manufacturerService = new ManufacturerService(manufacturerRepo.Object);

            var manufacturer = new Manufacturer()
            {
                Id   = 0,
                Name = "Phantom"
            };

            var e = Assert.Throws <ArgumentException>(() => manufacturerService.ReadById(manufacturer.Id));

            Assert.Equal("The Id entered has to be at least 1", e.Message);
        }
        public void ReadManufacturerByIdWithNoManufacturerFoundThrowsException()
        {
            var manufacturerRepo = new Mock <IManufacturerRepository>();
            IManufacturerService manufacturerService = new ManufacturerService(manufacturerRepo.Object);

            var manufacturer = new Manufacturer()
            {
                Id   = 1,
                Name = "Phantom"
            };

            manufacturerRepo.Setup(x => x.ReadById(manufacturer.Id)).Returns(() => manufacturer = null);

            var e = Assert.Throws <ArgumentException>(() => manufacturerService.ReadById(manufacturer.Id));

            Assert.Equal("Could not find any manufacturer with the entered id", e.Message);
        }
        public void ReadManufacturerByIdEnsureRepositoryIsCalled()
        {
            var manufacturerRepo = new Mock <IManufacturerRepository>();
            IManufacturerService manufacturerService = new ManufacturerService(manufacturerRepo.Object);

            var isCalled = false;

            var manufacturer = new Manufacturer()
            {
                Id   = 1,
                Name = "Phantom"
            };


            manufacturerRepo.Setup(x => x.ReadById(manufacturer.Id)).Callback(() => isCalled = true).Returns(manufacturer);

            manufacturerService.ReadById(manufacturer.Id);

            Assert.True(isCalled);
        }