public async void Should_Be_Able_To_Return_Session_Information() { // Arrange adminsRepository.Setup( obj => obj.FindByEmail("*****@*****.**") ) .ReturnsAsync(new Admin() { Id = 1, Email = "*****@*****.**", Password = "******", CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now, }); passwordHasher.Setup( obj => obj.VerifyHashedPassword( It.IsAny <Admin>(), "123456", It.IsAny <string>() ) ) .Returns(PasswordVerificationResult.Success); configuration.Setup(obj => obj["JWTSecret"]) .Returns("fedaf7d8863b48e197b9287d492b708e"); var auth = new LoginViewModel() { Email = "*****@*****.**", Password = "******" }; // Act var response = await adminAuthenticationService.AuthenticateAdmin(auth); // Assert Assert.Equal(1, response.Id); Assert.Equal("*****@*****.**", response.Email); Assert.Equal(DateTime.Today.Date, response.ValidFrom.ToLocalTime().Date); Assert.Equal( DateTime.Today.AddDays(1).Date, response.ValidTo.ToLocalTime().Date ); }
public async Task <ActionResult <SessionViewModel> > Create( [FromBody] LoginViewModel auth ) { auth.Validate(); if (auth.Invalid) { return(BadRequest(auth.Notifications)); } var session = await adminAuthentication.AuthenticateAdmin(auth); var sessionViewModel = mapper.Map <SessionViewModel>(session); return(Ok(session)); }