public void Assign_Book_To_Student()
        {
            var mockBookService           = new Mock <IBookService>();
            var mockBookAssignmentService = new Mock <IBookAssignmentService>();

            mockBookAssignmentService.Setup(r => r.AssignBook(1, 100)).Returns("Success");
            var controller = new BooksController(mockBookService.Object, mockBookAssignmentService.Object);

            var request = new BookAssignmentRequest()
            {
                BookId    = 1,
                StudentId = 100
            };

            var actionResult = controller.Assign(request);
            var result       = Assert.IsType <CreatedAtActionResult>(actionResult);

            Assert.Equal("Assign", result.ActionName);

            mockBookAssignmentService.Verify(s => s.AssignBook(1, 100), Times.Once());
        }
示例#2
0
        public IActionResult Assign([FromBody] BookAssignmentRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var bookId    = request.BookId;
            var studentId = request.StudentId;

            var response = _bookAssignmentService.AssignBook(bookId, studentId);

            if (response.Equals("Success"))
            {
                var bookAssignToStudent = _bookAssignmentService.GetAssignedBook(bookId);
                return(CreatedAtAction("Assign", new { id = bookId }, bookAssignToStudent));
            }
            else
            {
                return(BadRequest(response));
            }
        }