public void Login_ShouldCreateANewSession() { var user = new DAL.API.UserEx { Id = Guid.NewGuid(), EmailOrUserName = "******" }; var mockRepo = new Mock <IUserRepository>(MockBehavior.Strict); mockRepo .Setup(r => r.QueryByCredentials("cica", "kutya", default)) .Returns(Task.FromResult(user)); mockRepo .Setup(r => r.CreateSession(user.Id, default)) .Returns(() => Task.FromResult(Guid.NewGuid())); var mockContext = new Mock <IRequestContext>(MockBehavior.Strict); mockContext .SetupGet(c => c.Cancellation) .Returns(default(CancellationToken)); var userManager = new UserManager(new Lazy <IUserRepository>(() => mockRepo.Object), mockContext.Object); Guid sessionId = Guid.Empty; Assert.DoesNotThrowAsync(async() => sessionId = await userManager.Login("cica", "kutya")); Assert.That(sessionId, Is.Not.EqualTo(Guid.Empty)); mockRepo.Verify(r => r.QueryByCredentials("cica", "kutya", default), Times.Once); mockRepo.Verify(r => r.CreateSession(user.Id, default), Times.Once); mockContext.VerifyGet(c => c.Cancellation, Times.AtLeastOnce); }
public async Task DeleteCurrent() { DAL.API.UserEx user = await UserRepository.QueryBySession(Guid.Parse(RequestContext.SessionId !), RequestContext.Cancellation); await UserRepository.Delete(user.Id, RequestContext.Cancellation); }
public async Task <Guid> Login(string emailOrUserName, string pw) { DAL.API.UserEx user = await UserRepository.QueryByCredentials(emailOrUserName, pw, RequestContext.Cancellation); return(await UserRepository.CreateSession(user.Id, RequestContext.Cancellation)); }