public void GetCustomClaims_ForPositiveBlockedUser_ShouldContainResultClaimsBlockedClaimsAndNotCanUploadClaims() { var testdata = DateTime.Today.AddDays(-3); var positiveTestResult = new PositiveTestResult { PositiveTestDate = testdata.Some() }; var verificationLimitMock = new Mock <IVerificationLimit>(); verificationLimitMock .Setup(x => x.HasReachedLimit(It.IsAny <IEnumerable <VerificationRecord> >())) .Returns(true); verificationLimitMock .Setup(x => x.Config) .Returns(new VerificationLimitConfig { MaxLimitDuration = TimeSpan.FromDays(2), MaxVerificationsAllowed = 42 }); var target = new VerificationResult(positiveTestResult, new VerificationRecord[0], verificationLimitMock.Object); var verificationClaims = target.GetVerificationClaims().ToList(); verificationClaims.Should().Contain(c => c.Type == DkSmittestopClaims.Covid19Status && c.Value == DkSmittestopClaims.StatusValues.Positive); verificationClaims.Should().Contain(c => c.Type == VerificationClaims.VerifiedPositiveTestDate && c.Value == testdata.ToString("yyyy-MM-dd")); verificationClaims.Should().Contain(c => c.Type == DkSmittestopClaims.Covid19Blocked && c.Value == "true"); verificationClaims.Should().Contain(c => c.Type == DkSmittestopClaims.Covid19LimitCount); verificationClaims.Should().Contain(c => c.Type == DkSmittestopClaims.Covid19LimitDuration); verificationClaims.Should().NotContain(c => c.Type == JwtClaimTypes.Role); }
public void GetVerificationClaims_ForNegativeResult_ShouldContainNegativeClaim() { var target = new VerificationResult(); var verificationClaims = target.GetVerificationClaims().ToList(); verificationClaims.Should().Contain(c => c.Type == DkSmittestopClaims.Covid19Status && c.Value == DkSmittestopClaims.StatusValues.Negative); }
public void GetVerificationClaims_ForNegativeResult_ShouldContainUploadClaim() { var target = new VerificationResult(new List <VerificationRecord>(), Mock.Of <IVerificationLimit>(), false); var verificationClaims = target.GetVerificationClaims().ToList(); verificationClaims.Should().Contain(c => c.Type == DkSmittestopClaims.Covid19Status && c.Value == DkSmittestopClaims.StatusValues.Negative); verificationClaims.Should().Contain(c => c.Type == JwtClaimTypes.Role && c.Value == VerificationRoles.UploadApproved); }
public void GetCustomClaims_ForNonPositiveUser_ShouldContainVerifiedPostiveRoleAndTestDateClaim() { var testdata = DateTime.Today.AddDays(-3); var target = new VerificationResult(new PositiveTestResult { PositiveTestDate = testdata.Some() }, new VerificationRecord[0], new Mock <IVerificationLimit>().Object); var verificationClaims = target.GetVerificationClaims().ToList(); verificationClaims.Should().Contain(c => c.Type == JwtClaimTypes.Role && c.Value == VerificationRoles.VerifiedPositive); verificationClaims.Should().Contain(c => c.Type == VerificationClaims.VerifiedPositiveTestDate && c.Value == testdata.ToString("yyyy-MM-dd")); }
public void GetCustomClaims_ForPositiveNonBlockedUser_ShouldContainCanUploadClaimsButNotBlockedConfigClaims() { var testdata = DateTime.Today.AddDays(-3); var verificationLimitMock = new Mock <IVerificationLimit>(); verificationLimitMock .Setup(x => x.HasReachedLimit(It.IsAny <IEnumerable <VerificationRecord> >())) .Returns(false); var target = new VerificationResult(new PositiveTestResult { PositiveTestDate = testdata.Some() }, new VerificationRecord[0], verificationLimitMock.Object); var verificationClaims = target.GetVerificationClaims().ToList(); verificationClaims.Should().Contain(c => c.Type == DkSmittestopClaims.Covid19Status && c.Value == DkSmittestopClaims.StatusValues.Positive); verificationClaims.Should().Contain(c => c.Type == JwtClaimTypes.Role && c.Value == VerificationRoles.UploadApproved); verificationClaims.Should().Contain(c => c.Type == VerificationClaims.VerifiedPositiveTestDate && c.Value == testdata.ToString("yyyy-MM-dd")); verificationClaims.Should().Contain(c => c.Type == DkSmittestopClaims.Covid19Blocked && c.Value == "false"); verificationClaims.Should().NotContain(c => c.Type == DkSmittestopClaims.Covid19LimitCount); verificationClaims.Should().NotContain(c => c.Type == DkSmittestopClaims.Covid19LimitDuration); }