public void DeleteTest()
        {
            CreateContext();
            DefaultController <ObjectMappingForTest> defaultController = new DefaultController <ObjectMappingForTest>(new FakeLogger(),
                                                                                                                      new FetchDomainData <ObjectMappingForTest>(_uow),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, EditParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryEditItem <ObjectMappingForTest, EditParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryDeleteItem <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)));

            var exArgumentException = Assert.ThrowsExceptionAsync <ArgumentException>(() => defaultController.Delete(10));

            Assert.AreEqual("Записи для удаления не существует.", exArgumentException.Result.Message);

            //Проверка успешного удаления записи
            long       idDelete  = 3;
            JsonResult resultAdd = defaultController.Delete(idDelete).Result;
            BaseResultType <PrepareItemResult <ObjectMappingForTest> > resultSuccessQuery = (BaseResultType <PrepareItemResult <ObjectMappingForTest> >)resultAdd.Value;

            Assert.AreEqual(ResultStatus.Success, resultSuccessQuery.Status);
            Assert.IsNotNull(resultSuccessQuery.Data.Item);

            //Проверка запроса из БД, что запись удалилась
            JsonResult result = defaultController.GetAsync(new FetchDataParameters()
            {
                CountOnPage = 10, PageNumber = 1
            }).Result;
            BaseResultType <ResultFetchData <ObjectMappingForTest> > fetchDataResultQuery = (BaseResultType <ResultFetchData <ObjectMappingForTest> >)result.Value;

            Assert.AreEqual(ResultStatus.Success, fetchDataResultQuery.Status);
            Assert.AreEqual(2, fetchDataResultQuery.Data.TotalCountRows);

            Assert.AreEqual(2, fetchDataResultQuery.Data.Items.Count);
            Assert.IsFalse(fetchDataResultQuery.Data.Items.Any(x => x.Id == idDelete));
        }
        public void GETDeleteHappyTest()
        {
            int?id       = 12;
            var expected = new Genotype
            {
                Id        = 12,
                GivenName = "bananas"
            };

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetGenotype(id.Value)).Returns(expected);

            var controller = new DefaultController(mockRepo.Object);

            var response = controller.Delete(id) as ViewResult;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Model);
            Assert.IsNotNull(response.Model as Genotype);

            var actual = response.Model as Genotype;

            Assert.AreEqual(expected, actual);
        }
示例#3
0
        public void When_ExistingWidgetIsDeleted_DeleteReturnsEmptyResult()
        {
            var          controller = new DefaultController();
            Widget       widget;
            ActionResult result;

            controller.Index();
            widget = DefaultController.widgets.First();

            result = controller.Delete(widget.Id);

            Assert.IsInstanceOfType(result, typeof(EmptyResult));
        }
        public void GETDeleteBadIdTest()
        {
            int?id = null;

            var mockRepo = new Mock <IPlantBreedingRepo>();

            var controller = new DefaultController(mockRepo.Object);

            var response = controller.Delete(id) as HttpStatusCodeResult;

            Assert.IsNotNull(response);
            Assert.IsTrue(response.StatusCode == 400);
        }
示例#5
0
        public void When_UnknwonWidgetIsDeleted_DeleteReturnsJsonFalse()
        {
            var controller = new DefaultController();
            var widget     = new Widget {
                Id = Guid.NewGuid(), Description = "Unknown Widget"
            };
            ActionResult result;

            controller.Index();

            result = controller.Delete(widget.Id);

            Assert.IsInstanceOfType(result, typeof(JsonResult));
            Assert.IsFalse((bool)((JsonResult)result).Data);
        }
        public void GETDeleteNullTest()
        {
            int?     id       = 12;
            Genotype expected = null;

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetGenotype(id.Value)).Returns(expected);

            var controller = new DefaultController(mockRepo.Object);

            var response = controller.Delete(id) as HttpNotFoundResult;

            Assert.IsNotNull(response);
            Assert.IsTrue(response.StatusCode == 404);
        }