jeudi 19 février 2015

How do I write a unit test for controller use automapper?

I'm trying to write a unit test for controller to test method return all users. But I confuse How can I write unit test with automapper


Controller :



private readonly IUserService _userService;

public UserController(IUserService userService)
{
this._userService = userService;
}

public ActionResult List()
{
var users = _userService.GetAllUsers().ToList();
var viewModel = Mapper.Map<List<UserViewModel>>(users);
return View(viewModel);
}


Controller Test:



private Mock<IUserService> _userServiceMock;
UserController objUserController;
List<UserViewModel> listUser;

[SetUp]
public void Initialize()
{
_userServiceMock = new Mock<IUserService>();
objUserController = new UserController(_userServiceMock.Object);
listUser = new List<UserViewModel>()
{
new UserViewModel() {Id = 1, Active = true, Password = "123456", UserName = "hercules"},
new UserViewModel() {Id = 2, Active = false, Password = "1234567", UserName = "alibaba"},
new UserViewModel() {Id = 3, Active = true, Password = "12345678", UserName = "robinhood"},
};
}

[Test]
public void Index_Returns_AllUser()
{
// How do I here ???
}

Aucun commentaire:

Enregistrer un commentaire