public void BugsController_Delete()
        {
            _bugService.Setup(service => service.Delete(It.IsAny <Guid>()));
            LoadRequestInController(_bugsController, HttpMethod.Delete, url);

            var response = _bugsController.Delete(Guid.NewGuid());

            _bugService.Verify(service => service.Delete(It.IsAny <Guid>()), Times.Once());
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
        }
        public void Delete_WhenValidId_ShouldReduceBugsNumber()
        {
            FakeRepository <Bug> fakeRepo = new FakeRepository <Bug>();

            var bugs = new List <Bug>()
            {
                new Bug()
                {
                    Id     = 1,
                    Text   = "TEST NEW BUG 1",
                    Status = Status.Pending
                },
                new Bug()
                {
                    Id     = 2,
                    Text   = "TEST NEW BUG 2",
                    Status = Status.Pending
                },
                new Bug()
                {
                    Id     = 3,
                    Text   = "TEST NEW BUG 3",
                    Status = Status.ForTesting
                },
                new Bug()
                {
                    Id     = 4,
                    Text   = "TEST NEW BUG 4",
                    Status = Status.Fixed
                }
            };

            fakeRepo.Entities = bugs;
            var controller = new BugsController(fakeRepo as IRepository <Bug>);

            this.SetupController(controller);
            var result    = controller.Delete(2);
            var bugsCount = controller.GetAll().Count();

            Assert.AreEqual(HttpStatusCode.OK, result.ExecuteAsync(CancellationToken.None).Result.StatusCode);
            Assert.AreEqual(3, bugsCount);
        }