Beispiel #1
0
        public void AddDocument_ReturnCreateItem_WhenModelModelValid()
        {
            //Arrange
            var dbContext = new DocumentDbContext();

            dbContext.Categories = GetQueryableMockDbSetCategory();
            dbContext.Documents  = GetQueryableMockDbSetDocument();

            var categoryRepo = new CategoryRepo(string.Empty, dbContext);
            var documentRepo = new DocumentRepo(string.Empty, dbContext);
            var controller   = new DocumentController(categoryRepo, documentRepo);

            AddDocumentModel addDocumentModel = new AddDocumentModel {
                Title = "Đời sống con người", Description = "Nói về đời sống con người", CategoryId = 1, Cover = "", PublishYear = 2013
            };
            //Act
            var result = controller.AddDocument(addDocumentModel);

            //Assert
            Assert.IsType <OkObjectResult>(result);

            var okObjectResult = result as OkObjectResult;

            Assert.IsType <Document>(okObjectResult.Value);

            var model = okObjectResult.Value as Document;

            Assert.Equal(model.Title, addDocumentModel.Title);
            Assert.Equal(model.Description, addDocumentModel.Description);
            Assert.Equal(model.CategoryId, addDocumentModel.CategoryId);
            Assert.Equal(model.Cover, addDocumentModel.Cover);
            Assert.Equal(model.PublishYear, addDocumentModel.PublishYear);
        }
        public IActionResult AddDocument([FromBody] AddDocumentModel addDocumentModel)
        {
            //1. Validate Model
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //2. Validate category
            if (addDocumentModel.CategoryId.HasValue)
            {
                var currentCategory = _categoryRepo.GetCategory(addDocumentModel.CategoryId.Value);
                if (currentCategory == null)
                {
                    return(NotFound("CategoryNotExist"));
                }
            }

            //3. If category id valid, start update document
            Document newDocument = new Document()
            {
                CategoryId  = addDocumentModel.CategoryId,
                Title       = addDocumentModel.Title,
                Description = addDocumentModel.Description,
                Cover       = addDocumentModel.Cover,
                PublishYear = addDocumentModel.PublishYear
            };

            var response = _documentRepo.AddDocument(newDocument);

            return(Ok(response));
        }
        /// <summary>
        /// add details
        /// </summary>
        /// <param name="addDocumentModel">AddDocumentModel class</param>
        /// <returns>view</returns>
        public ActionResult AddDetails(AddDocumentModel addDocumentModel)
        {
            DocumentDetailsRequest documentDetailsRequest = new DocumentDetailsRequest();

            documentDetailsRequest.CreatedBy   = 101;
            documentDetailsRequest.CreatedDate = DateTime.Now;
            documentDetailsRequest.DocType     = "Document";
            documentDetailsRequest.DueDate     = DateTime.Now;
            // documentDetailsRequest.NumberOfTimesReadDoc=addDocumentModel.
            return(View());
        }
Beispiel #4
0
        public void AddDocument_ReturnNotFoundResult_WhenModelCategoryNotFound()
        {
            //Arrange
            var dbContext = new DocumentDbContext();

            dbContext.Categories = GetQueryableMockDbSetCategory();
            dbContext.Documents  = GetQueryableMockDbSetDocument();

            var categoryRepo = new CategoryRepo(string.Empty, dbContext);
            var documentRepo = new DocumentRepo(string.Empty, dbContext);
            var controller   = new DocumentController(categoryRepo, documentRepo);

            AddDocumentModel addDocumentModel = new AddDocumentModel {
                Title = "Đời sống con người", Description = "Nói về đời sống con người", CategoryId = 3, Cover = "", PublishYear = 2013
            };
            //Act
            var result = controller.AddDocument(addDocumentModel);

            //Assert
            Assert.IsType <NotFoundObjectResult>(result);
        }