2016-12-22 13:20:12 +01:00

51 lines
1.3 KiB
C#

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()
{
}
}
}