public void DoYourOwnLogic2() { //implement your idea and own logic //use mocks var nonAdmin = new User() { UserName = "******", Password = "******" }; var mockLogin = new Mock <ILoginModule>(); mockLogin.Setup(x => x.Login(nonAdmin)) .Callback(() => nonAdmin.Rights = Right.None); var mock = new Mock <IEmployeeRepository>(); mock.Setup(m => m.LoadEmployee(1)).Returns(() => new Employee() { Id = 1, Name = "Peter", Type = "Slave", Wage = 20 }); Employee e = mock.Object.LoadEmployee(1); mockLogin.Object.Login(nonAdmin); nonAdmin.EditEmployeeWage(e, 1000); }
public void AfterLoginAdminCanEditEmployeeWage() { //Arrange var admin = new User() { UserName = "******", Password = "******" }; var mockLogin = new Mock <ILoginModule>(); mockLogin.Setup(x => x.Login(admin)) .Callback(() => { admin.Rights = Right.Full; }); var mock = new Mock <IEmployeeRepository>(); mock.Setup(m => m.LoadEmployee(1)).Returns(() => new Employee() { Id = 1, Name = "Peter", Type = "Slave", Wage = 20 }); Employee e = mock.Object.LoadEmployee(1); //Act mockLogin.Object.Login(admin); admin.EditEmployeeWage(e, 1000); //Assert Assert.AreEqual(1000, e.Wage); }