From 8e0714b92661cc9e3ddaa2708c4267a513440a06 Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 24 Jan 2020 19:49:57 +0800 Subject: Upgrade library version. --- Timeline.Tests/Services/UserTokenManagerTest.cs | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'Timeline.Tests/Services/UserTokenManagerTest.cs') diff --git a/Timeline.Tests/Services/UserTokenManagerTest.cs b/Timeline.Tests/Services/UserTokenManagerTest.cs index 86ad84b3..a8ace778 100644 --- a/Timeline.Tests/Services/UserTokenManagerTest.cs +++ b/Timeline.Tests/Services/UserTokenManagerTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Timeline.Models; using Timeline.Services; using Timeline.Tests.Helpers; using Xunit; @@ -48,5 +49,36 @@ namespace Timeline.Tests.Services _mockUserService.Setup(s => s.VerifyCredential(username, password)).ThrowsAsync((Exception)Activator.CreateInstance(exceptionType)); await _service.Awaiting(s => s.CreateToken(username, password)).Should().ThrowAsync(exceptionType); } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public async Task CreateToken_Success(bool setExpireTime) + { + const string username = "uuu"; + const string password = "ppp"; + var mockExpireTime = setExpireTime ? (DateTime?)DateTime.Now : null; + var mockUserInfo = new UserInfo + { + Id = 1, + Username = username, + Administrator = false, + Version = 1 + }; + const string mockToken = "mocktokenaaaaaaa"; + + _mockUserService.Setup(s => s.VerifyCredential(username, password)).ReturnsAsync(mockUserInfo); + _mockUserTokenService.Setup(s => s.GenerateToken( + It.Is(userTokenInfo => + userTokenInfo.Id == mockUserInfo.Id && + userTokenInfo.Version == mockUserInfo.Version && + userTokenInfo.ExpireAt == mockExpireTime))).Returns(mockToken); + (await _service.CreateToken(username, password, mockExpireTime)) + .Should().BeEquivalentTo(new UserTokenCreateResult + { + Token = mockToken, + User = mockUserInfo + }); + } } } -- cgit v1.2.3