DefconDotNet

UserServiceTests

Feb 22nd, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.80 KB | None | 0 0
  1. using Freelancers.Infrastructure.Security;
  2. using Freelancers.Infrastructure.UnitOfWork;
  3. using Freelancers.Model;
  4. using Freelancers.Model.Interfaces;
  5. using Moq;
  6. using NUnit.Framework;
  7.  
  8. namespace Freelancers.Services.Tests
  9. {
  10.     [TestFixture]
  11.     public class UserServiceTests
  12.     {
  13.         private User _user;
  14.         private IUserService _userService;
  15.         private Mock<IUserService> _userServiceMock;
  16.         private Mock<IUserRepository> _userRepositoryMock;
  17.         private Mock<ISecurityService> _securityServiceMock;
  18.         private Mock<IUnitOfWork> _uowMock;
  19.        
  20.         [SetUp]
  21.         public void Init()
  22.         {
  23.             _user = new Freelancer{Id=1, PasswordHash = ""};
  24.             _userRepositoryMock = new Mock<IUserRepository>();
  25.             _securityServiceMock = new Mock<ISecurityService>();
  26.             _securityServiceMock.Setup(a => a.ComputeHash("newpass", 1)).Returns("hash");
  27.             _uowMock = new Mock<IUnitOfWork>();
  28.             _userServiceMock = new Mock<IUserService>();
  29.             _userServiceMock.Setup(a => a.GetUser(1)).Returns(_user);
  30.             _userService = new UserService(_userRepositoryMock.Object, _securityServiceMock.Object, _uowMock.Object);
  31.         }
  32.  
  33.         [Test]
  34.         public void ChangePasswordChangesUserObject()
  35.         {
  36.             var user = _userServiceMock.Object.GetUser(1);
  37.             _userService.ChangePassword(user, "newpass");
  38.  
  39.             var user2 = _userServiceMock.Object.GetUser(1);
  40.             Assert.AreEqual("hash", user2.PasswordHash);
  41.         }
  42.  
  43.         [Test]
  44.         public void ChangePasswordCallesSave()
  45.         {
  46.             var user = _userServiceMock.Object.GetUser(1);
  47.             _userService.ChangePassword(user, "newpass");
  48.  
  49.             _uowMock.Verify(x => x.Commit());
  50.         }
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment