예제 #1
0
        public void RemoveDrink_Remove_A_Drink()
        {
            var data = new List <Drink>()
            {
                new Drink {
                    Id = 1, Name = "Drink1"
                },
                new Drink {
                    Id = 2, Name = "Drink2"
                },
                new Drink {
                    Id = 3, Name = "Drink3"
                },
            }.AsQueryable();

            var mockSet = new Mock <DbSet <Drink> >();

            mockSet.As <IQueryable <Drink> >().Setup(m => m.Provider).Returns(data.Provider);
            mockSet.As <IQueryable <Drink> >().Setup(m => m.Expression).Returns(data.Expression);
            mockSet.As <IQueryable <Drink> >().Setup(m => m.ElementType).Returns(data.ElementType);
            mockSet.As <IQueryable <Drink> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            var mockContext = new Mock <ShopContext>();

            mockContext.Setup(x => x.Drinks).Returns(mockSet.Object);

            var service = new DrinkController(mockContext.Object);
            var drinks  = service.GetAllDrinks();

            int deletedDrinkId = 1; service.Delete(drinks[0].Id);

            Assert.IsNull(service.GetAllDrinks().FirstOrDefault(x => x.Id == deletedDrinkId));
        }
예제 #2
0
        public void Delete_Not_Ajax_Request()
        {
            // Arrange
            var drink = new Drink()
            {
                ID       = 1,
                Name     = "Mirinda",
                Price    = 5.00M,
                Capacity = 0.5f
            };
            var id         = 1;
            var repository = Substitute.For <IDrinkRepository>();
            var mapper     = Substitute.For <IMapper>();

            var fakeController = new FakeController();

            fakeController.PrepareFakeRequest();
            var controller = new DrinkController(repository, mapper);

            controller.ControllerContext = fakeController.GetControllerContext <DrinkController>(new RouteData(), controller);

            repository.Get(id).Returns(drink);

            // Act
            var result      = controller.Delete(id) as RedirectToRouteResult;
            var ajaxRequest = controller.Request.IsAjaxRequest();
            var actionName  = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
        }
예제 #3
0
        public void Delete_DrinkName_DrinkDeleted()
        {
            // Arrange
            var deleted = false;

            _drinkServiceMock.Setup(
                s =>
                s.RemoveDrink("DrinkName")).Callback(() => deleted = true);

            // Act
            _controller.Delete("DrinkName");

            // Assert
            Assert.IsTrue(deleted);
        }
예제 #4
0
        public void Delete_Id_Is_Null()
        {
            // Arrange
            int?id         = null;
            var repository = Substitute.For <IDrinkRepository>();
            var mapper     = Substitute.For <IMapper>();
            var controller = new DrinkController(repository, mapper);

            // Act
            var result     = controller.Delete(id) as HttpStatusCodeResult;
            var statusCode = result.StatusCode;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(400, Is.EqualTo(statusCode));
        }
예제 #5
0
        private void RemoveDrink()
        {
            Console.Write("Enter ID: ");
            int   id    = int.Parse(Console.ReadLine());
            Drink drink = drinkController.GetDrinkById(id);

            if (drink != null)
            {
                drinkController.Delete(drink.Id);
                Console.WriteLine("Тhe product was deleted successfully!");
            }
            else
            {
                Console.WriteLine("The product was not found!");
            }
        }
예제 #6
0
        public void Delete_Drink_Is_Null()
        {
            // Arrange
            Drink drink      = null;
            var   id         = 1;
            var   repository = Substitute.For <IDrinkRepository>();
            var   mapper     = Substitute.For <IMapper>();

            var controller = new DrinkController(repository, mapper);

            repository.Get(id).Returns(drink);

            // Act
            var result     = controller.Delete(id) as HttpNotFoundResult;
            var statusCode = result.StatusCode;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(404, Is.EqualTo(statusCode));
        }
예제 #7
0
        public void Good_Delete()
        {
            // Arrange
            var drink = new Drink()
            {
                ID       = 1,
                Name     = "Mirinda",
                Price    = 5.00M,
                Capacity = 0.5f
            };
            var id         = 1;
            var repository = Substitute.For <IDrinkRepository>();
            var mapper     = Substitute.For <IMapper>();

            var fakeController = new FakeController();

            fakeController.PrepareFakeAjaxRequest();
            var controller = new DrinkController(repository, mapper);

            controller.ControllerContext = fakeController.GetControllerContext <DrinkController>(new RouteData(), controller);

            repository.Get(id).Returns(drink);
            repository.Delete(drink);
            repository.Save();

            // Act
            var result              = controller.Delete(id) as JsonResult;
            var ajaxRequest         = controller.Request.IsAjaxRequest();
            var jsonRequestBehavior = result.JsonRequestBehavior;
            var data = result.Data;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(ajaxRequest, Is.True);
            Assert.That(jsonRequestBehavior, Is.EqualTo(JsonRequestBehavior.AllowGet));
        }
예제 #8
0
        private void button13_Click(object sender, EventArgs e)
        {
            label3.Text = "";

            if (SectionNumber == 1)
            {
                var id     = int.Parse(textBox1.Text);
                var pastry = pastryController.GetPastryById(id);
                if (pastry != null)
                {
                    pastryController.Delete(id);
                    MessageBox.Show("The product was successfully deleted!");
                }
                else
                {
                    MessageBox.Show("The product was not found!");
                }
            }

            if (SectionNumber == 2)
            {
                var id = int.Parse(textBox1.Text);
                var fruitAndVegetbale = fruitAndVegetableController.GetFruitOrVegetableById(id);
                if (fruitAndVegetbale != null)
                {
                    fruitAndVegetableController.Delete(id);
                    MessageBox.Show("The product was successfully deleted!");
                }
                else
                {
                    MessageBox.Show("The product was not found!");
                }
            }

            if (SectionNumber == 3)
            {
                var id  = int.Parse(textBox1.Text);
                var nut = nutController.GetNutById(id);
                if (nut != null)
                {
                    nutController.Delete(id);
                    MessageBox.Show("The product was successfully deleted!");
                }
                else
                {
                    MessageBox.Show("The product was not found!");
                }
            }

            if (SectionNumber == 4)
            {
                var id    = int.Parse(textBox1.Text);
                var drink = drinkController.GetDrinkById(id);
                if (drink != null)
                {
                    drinkController.Delete(id);
                    MessageBox.Show("The product was successfully deleted!");
                }
                else
                {
                    MessageBox.Show("The product was not found!");
                }
            }
        }