public void AcquireTokenShouldReturnAuthenticated() { // arrange var projectRepositoryMock = new Mock <IProjectRepository>(); projectRepositoryMock.Setup(repo => repo.FindBy(It.IsAny <Expression <Func <Project, bool> > >())) .Returns(new[] { new Project { ProjectGuid = _sampleGuid, Status = ProjectStatus.Active } }); projectRepositoryMock.Setup(repo => repo.GetByGuid(It.IsAny <Guid>())) .Returns(new Project { ProjectGuid = _sampleGuid, Status = ProjectStatus.Active, Id = 1 }); var userRepositoryMock = new Mock <IUserRepository>(); userRepositoryMock.Setup(repo => repo.FindBy(It.IsAny <Expression <Func <User, bool> > >())) .Returns(new[] { new User { Login = "******", Password = "******", Status = UserStatus.Active } }); var getPoliciesFromProjectActionMock = new Mock <IGetPoliciesFromProject>(); var getPoliciesFromProjectFactoryMock = new Mock <IGetPoliciesFromProjectFactory>(); getPoliciesFromProjectFactoryMock.Setup(fac => fac.Create()).Returns(getPoliciesFromProjectActionMock.Object); getPoliciesFromProjectActionMock.Setup(ac => ac.Invoke(It.IsAny <int>())) .Returns(new List <Tuple <Policy, PolicyConfiguration> >()); var hashingServiceMock = new Mock <IHashingService>(); hashingServiceMock.Setup(hs => hs.HashWithDatabaseSalt(It.IsAny <string>(), It.IsAny <string>())) .Returns("password"); var getUserCustomDataFactoryMock = new Mock <IGetUserCustomDataListFromProjectFactory>(); var getUserCustomDataActionMock = new Mock <IGetUserCustomDataListFromProject>(); getUserCustomDataFactoryMock.Setup(fac => fac.Create()).Returns(getUserCustomDataActionMock.Object); getUserCustomDataActionMock.Setup(ac => ac.Invoke(It.IsAny <Guid>(), It.IsAny <string>())) .Returns(new List <Tuple <string, string> >()); var getUserPolicyConfigurationMock = new Mock <IGetUserPolicyConfigurationOrDefaultFromProjectFactory>(); var jwtLibraryWrapperMock = new Mock <IJwtLibraryWrapperService>(); jwtLibraryWrapperMock.Setup(lib => lib.Encode(It.IsAny <Dictionary <string, object> >(), It.IsAny <string>())) .Returns("a.b.c"); var tokenService = new TokenService(userRepositoryMock.Object, projectRepositoryMock.Object, jwtLibraryWrapperMock.Object, _logger, getPoliciesFromProjectFactoryMock.Object, hashingServiceMock.Object, getUserCustomDataFactoryMock.Object, getUserPolicyConfigurationMock.Object); // act string jsonResult = tokenService.AcquireToken("login", "password", _sampleGuid); var deserialized = JsonConvert.DeserializeObject <JsonObject>(jsonResult); // assert Assert.Equal(JsonValues.Authenticated, deserialized.Result); Assert.NotNull(deserialized.Jwt); Assert.Null(deserialized.ErrorDetails); }