Bladeren bron

added tests and fixed selection process bug

pull/157/head
meris.ahmatovic 3 jaren geleden
bovenliggende
commit
6b43a9e1a2

+ 1
- 1
Diligent.WebAPI.Business/Services/SelectionProcessService.cs Bestand weergeven

@@ -43,7 +43,7 @@ namespace Diligent.WebAPI.Business.Services
sp.Status = "Odrađen";

_logger.LogInformation($"Skipping throught levels to come to next level");
if (sp.SelectionLevelId == _context.SelectionLevels.Last().Id)
if (sp.SelectionLevelId == _context.SelectionLevels.OrderBy(n => n.Id).Last().Id)
{
_logger.LogError($"Applicant is in the last selection level");
throw new EntityNotFoundException("Candidate came to the last selection level");

+ 88
- 7
Diligent.WebAPI.Tests/Services/AuthenticationServiceTests.cs Bestand weergeven

@@ -36,8 +36,8 @@ namespace Diligent.WebAPI.Tests.Services
new RefreshToken
{
Id = 1,
CreationDate = DateTime.UtcNow,
ExpiryDate = DateTime.UtcNow.AddDays(5),
CreationDate = DateTime.Now,
ExpiryDate = DateTime.Now.AddDays(5),
UserId = 1,
Invalidated = false,
JwtId = "string",
@@ -46,9 +46,9 @@ namespace Diligent.WebAPI.Tests.Services
},
new RefreshToken
{
Id = 2,
CreationDate = DateTime.UtcNow,
ExpiryDate = DateTime.UtcNow.AddDays(5),
Id = 4,
CreationDate = DateTime.Now,
ExpiryDate = DateTime.Now.AddDays(5),
UserId = 2,
Invalidated = false,
JwtId = "string",
@@ -58,8 +58,8 @@ namespace Diligent.WebAPI.Tests.Services
new RefreshToken
{
Id = 3,
CreationDate = DateTime.UtcNow,
ExpiryDate = DateTime.UtcNow.AddDays(5),
CreationDate = DateTime.Now,
ExpiryDate = DateTime.Now.AddDays(5),
UserId = 3,
Invalidated = false,
JwtId = "string",
@@ -131,6 +131,22 @@ namespace Diligent.WebAPI.Tests.Services
EmailConfirmed = false,
IsEnabled = true,
AccessFailedCount = 0,
SecurityStamp = "ZYA3WYFOWDEQRWYKEXVKIBPI3C5XZZNM",
ConcurrencyStamp = "9f3174d6-dd77-4549-ae51-ec81d630d7ff",
},
new User
{
Id = 5,
PasswordHash = "AQAAAAEAACcQAAAAEK8x77a+af9qKiHc6Lq2OKLmzCjqhws/qn2g4ByHwAXoDp7/3aT38M47oTPZQ1rqyg==",
FirstName = "User",
LastName = "Four",
UserName = "user5",
NormalizedUserName = "USER5",
Email = "user5@dilig.net",
NormalizedEmail = "USER5@DILIG.NET",
EmailConfirmed = false,
IsEnabled = true,
AccessFailedCount = 0,
SecurityStamp = "2D3XPK2P5MAKO377AWFU3T4ZFFYTSOJX",
ConcurrencyStamp = "2D3XPK2P5MAKO377AWFU3T4ZFFYTSOJX",
}
@@ -783,5 +799,70 @@ namespace Diligent.WebAPI.Tests.Services

result.Should().BeEquivalentTo(_tokens[0]);
}

[Fact]
public async Task RefreshTokenAsync_ShouldReturnError_IfValidatedTokenIsNull()
{
var databaseContext = await Helpers<User>.GetDatabaseContextWithRelation(_users, _tokens);

var authSettings = Options.Create(new AuthorizationSettings
{
Secret = "ThIs I5 0uR S3cReT n0W!"
});
var frontEndSettings = Options.Create(new FrontEndSettings
{
BaseUrl = "some url"
});

var service = new AuthenticationService(authSettings, frontEndSettings, _mockUserManager, databaseContext, _emailer, _logger, _httpClient, _mapper);

var result = await service.RefreshTokenAsync(new RefreshTokenRequestDto
{
RefreshToken = "",
Token = ""
});

result.Should().BeEquivalentTo(new RefreshTokenResultDto
{
Error = "Invalid token"
});
}

[Fact]
public async Task Expirt_RefreshTokenAsync_ShouldReturnError_IfValidatedTokenIsNull()
{
_mockUserManager.FindByNameAsync(Arg.Any<string>()).Returns(_users[4]);
_mockUserManager.CheckPasswordAsync(Arg.Any<User>(), Arg.Any<string>()).Returns(Task.FromResult(true));
var databaseContext = await Helpers<User>.GetDatabaseContextWithRelation(_users, _tokens);

var authSettings = Options.Create(new AuthorizationSettings
{
Secret = "ThIs I5 0uR S3cReT n0W!"
});

var frontEndSettings = Options.Create(new FrontEndSettings
{
BaseUrl = "some url"
});

var service = new AuthenticationService(authSettings, frontEndSettings, _mockUserManager, databaseContext, _emailer, _logger, _httpClient, _mapper);
var result1 = await service.Authenticate(new Contracts.DTOs.Auth.AuthenticateRequestDto
{
Username = _users[4].UserName,
Password = "Nekasifra123!"
});

var result = await service.RefreshTokenAsync(new RefreshTokenRequestDto
{
RefreshToken = result1.Data.RefreshToken,
Token = result1.Data.Token
});

result.Should().BeEquivalentTo(new RefreshTokenResultDto
{
Error = "This refresh token has expired"
});
}
}
}

Laden…
Annuleren
Opslaan