public void Correctly_assigns_current_user_to_role() { MockRepository mocks = new MockRepository(); IPrincipal principal = mocks.CreateMock<IPrincipal>(); IIdentity identity = mocks.CreateMock<IIdentity>(); IWebContext context = mocks.CreateMock<IWebContext>(); IPrincipalFactory principalFactory = mocks.CreateMock<IPrincipalFactory>(); using (mocks.Record()) { Expect.Call(context.GetUserIdentity()).Return(identity); Expect.Call(principalFactory.CreatePrincipal(identity, "Administrator", "Other Role")).Return(principal); context.SetUser(principal); } mocks.ReplayAll(); using (mocks.Playback()) { IRoleManager manager = new RoleManager(context, principalFactory); manager.AssignCurrentUserToRoles("Administrator", "Other Role"); } mocks.VerifyAll(); }
public void Correctly_determines_if_user_is_not_in_role() { MockRepository mocks = new MockRepository(); IPrincipal principal = mocks.CreateMock<IPrincipal>(); IWebContext context = mocks.CreateMock<IWebContext>(); using (mocks.Record()) { Expect.Call(context.GetUserPrinciple()).Return(principal); ; Expect.Call(principal.IsInRole("Administrator")).Return(false); } mocks.ReplayAll(); using (mocks.Playback()) { IRoleManager manager = new RoleManager(context, null); Assert.That(manager.IsCurrentUserInRole("Administrator"), Is.False); } mocks.VerifyAll(); }