Skip to content

Instantly share code, notes, and snippets.

@explorer14
Created June 8, 2020 17:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save explorer14/c81178df78c5de68e910213373a1c0f0 to your computer and use it in GitHub Desktop.
Save explorer14/c81178df78c5de68e910213373a1c0f0 to your computer and use it in GitHub Desktop.
[Fact]
public async Task ShouldGenerateAccessTokenIfUserIsRegistered()
{
// arrange
var membershipRepositoryMock = new Mock<IMembershipRepository>();
var registeredUser = new RegisteredUser("firstName", "lastName");
membershipRepositoryMock
.Setup(x => x.Verify(It.IsAny<UserLogin>()))
.ReturnsAsync(registeredUser);
var tokenGenerator = new Mock<IJwtTokenGenerator>();
tokenGenerator
.Setup(x => x.GenerateAccessToken(
It.IsAny<string>(),
It.IsAny<Claim[]>()))
.Returns(It.IsAny<string>())
.Verifiable();
var authController = new AuthController(
membershipRepositoryMock.Object,
tokenGenerator.Object);
// act
var response = await authController.Login(
new UserLoginRequest
{
Username = "unregistered",
Password = "pass1"
});
// assert
tokenGenerator.Verify(x =>
x.GenerateAccessToken(
registeredUser.Fullname,
It.IsAny<Claim[]>()),
Times.Once);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment