public void Extend_DueDate_Of_Assigned_Book() { var bookAssignment = new BookAssignToStudent { Id = 1, BookId = 123, Book = new Book { Id = 123, Name = "Software Engineering", Author = "ABC", IsIssued = true }, IssueDate = DateTime.Now, DueDate = DateTime.Now.AddDays(7), StudentId = 100, Student = new Student { Id = 1, Name = "Ali" } }; var mockBookService = new Mock <IBookService>(); var mockBookAssignmentService = new Mock <IBookAssignmentService>(); var newDueDate = DateTime.Now.AddDays(10); mockBookAssignmentService.Setup(r => r.ExtendDueDate(123, 100, newDueDate)).Returns("Success"); var controller = new BooksController(mockBookService.Object, mockBookAssignmentService.Object); var request = new ExtendDueDateRequest { BookId = 123, StudentId = 100, NewDueDate = newDueDate }; var actionResult = controller.Extend(request); Assert.IsType <NoContentResult>(actionResult); mockBookAssignmentService.Verify(s => s.ExtendDueDate(123, 100, newDueDate), Times.Once()); }
public async Task Api_Extend_Return_Date() { //using (var client = new TestServerProvider().Client) //{ var books = new List <Book> { new Book { Id = 123, Author = "ABC", Name = "Test Book", IsIssued = false } }; var students = new List <Student> { new Student { Id = 100, Name = "Student 1" } }; var bookAssignments = new List <BookAssignmentRequest> { new BookAssignmentRequest { BookId = 123, StudentId = 100 } }; await CallAPI($"api/Books/", books, client); await CallAPI($"api/Student/", students, client); await CallAPI($"api/Books/Assign", bookAssignments, client); var extendDueDateRequest = new ExtendDueDateRequest { BookId = 123, StudentId = 100, NewDueDate = DateTime.Now.AddDays(10) }; var content = new StringContent(JsonConvert.SerializeObject(extendDueDateRequest), Encoding.UTF8, "application/json"); var response = await client.PutAsync($"api/Books/Extend", content); response.EnsureSuccessStatusCode(); if (response.Content != null) { var responseContent = await response.Content.ReadAsStringAsync(); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); } //} }
public IActionResult Extend([FromBody] ExtendDueDateRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var bookId = request.BookId; var studentId = request.StudentId; var newDueDate = request.NewDueDate; var response = _bookAssignmentService.ExtendDueDate(bookId, studentId, newDueDate); if (response.Equals("Success")) { return(NoContent()); } else { return(BadRequest(response)); } }