|
|
- using System;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Xunit;
- using System.Threading.Tasks;
- using Moq;
- using MediatR;
-
- namespace UnitTests
- {
- public class OrderControllerTest
- {
- private readonly Mock<IMediator> _mock;
-
- public OrderControllerTest()
- {
- //config mock;
- _mock = new Mock<IMediator>();
-
-
- }
-
- [Fact]
- public async Task AddOrder_ReturnsBadRequestResult_WhenPersitenceOperationFails()
- {
- //Add order:
- var orderRequest = new object() as IAsyncRequest<bool>;
- _mock.Setup(mediator => mediator.SendAsync(orderRequest))
- .Returns(Task.FromResult(false));
-
- // Arrange
- var controller = new OrdersController(mockRepo.Object);
- controller.ModelState.AddModelError("SessionName", "Required");
- var newSession = new HomeController.NewSessionModel();
-
- // Act
- var result = await controller.Index(newSession);
-
- // Assert
- var badRequestResult = Assert.IsType<BadRequestObjectResult>(result);
- Assert.IsType<SerializableError>(badRequestResult.Value);
- }
-
-
- // Implement Fake method for mock.
- private MediatorMockForAddOrder()
- {
-
- }
- }
- }
|