mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 07:36:14 -05:00
[pm-16528] Fix entity framework query (#5333)
This commit is contained in:
@ -188,4 +188,122 @@ public class OrganizationDomainRepositoryTests
|
||||
var expectedDomain2 = domains.FirstOrDefault(domain => domain.DomainName == organizationDomain2.DomainName);
|
||||
Assert.Null(expectedDomain2);
|
||||
}
|
||||
|
||||
[DatabaseTheory, DatabaseData]
|
||||
public async Task GetManyByNextRunDateAsync_ShouldReturnUnverifiedDomains(
|
||||
IOrganizationRepository organizationRepository,
|
||||
IOrganizationDomainRepository organizationDomainRepository)
|
||||
{
|
||||
// Arrange
|
||||
var id = Guid.NewGuid();
|
||||
|
||||
var organization1 = await organizationRepository.CreateAsync(new Organization
|
||||
{
|
||||
Name = $"Test Org {id}",
|
||||
BillingEmail = $"test+{id}@example.com",
|
||||
Plan = "Test",
|
||||
PrivateKey = "privatekey",
|
||||
|
||||
});
|
||||
|
||||
var organizationDomain = new OrganizationDomain
|
||||
{
|
||||
OrganizationId = organization1.Id,
|
||||
DomainName = $"domain2+{id}@example.com",
|
||||
Txt = "btw+12345"
|
||||
};
|
||||
|
||||
var within36HoursWindow = 1;
|
||||
organizationDomain.SetNextRunDate(within36HoursWindow);
|
||||
|
||||
await organizationDomainRepository.CreateAsync(organizationDomain);
|
||||
|
||||
var date = organizationDomain.NextRunDate;
|
||||
|
||||
// Act
|
||||
var domains = await organizationDomainRepository.GetManyByNextRunDateAsync(date);
|
||||
|
||||
// Assert
|
||||
var expectedDomain = domains.FirstOrDefault(domain => domain.DomainName == organizationDomain.DomainName);
|
||||
Assert.NotNull(expectedDomain);
|
||||
}
|
||||
|
||||
[DatabaseTheory, DatabaseData]
|
||||
public async Task GetManyByNextRunDateAsync_ShouldNotReturnUnverifiedDomains_WhenNextRunDateIsOutside36hoursWindow(
|
||||
IOrganizationRepository organizationRepository,
|
||||
IOrganizationDomainRepository organizationDomainRepository)
|
||||
{
|
||||
// Arrange
|
||||
var id = Guid.NewGuid();
|
||||
|
||||
var organization1 = await organizationRepository.CreateAsync(new Organization
|
||||
{
|
||||
Name = $"Test Org {id}",
|
||||
BillingEmail = $"test+{id}@example.com",
|
||||
Plan = "Test",
|
||||
PrivateKey = "privatekey",
|
||||
|
||||
});
|
||||
|
||||
var organizationDomain = new OrganizationDomain
|
||||
{
|
||||
OrganizationId = organization1.Id,
|
||||
DomainName = $"domain2+{id}@example.com",
|
||||
Txt = "btw+12345"
|
||||
};
|
||||
|
||||
var outside36HoursWindow = 20;
|
||||
organizationDomain.SetNextRunDate(outside36HoursWindow);
|
||||
|
||||
await organizationDomainRepository.CreateAsync(organizationDomain);
|
||||
|
||||
var date = DateTimeOffset.UtcNow.Date.AddDays(1);
|
||||
|
||||
// Act
|
||||
var domains = await organizationDomainRepository.GetManyByNextRunDateAsync(date);
|
||||
|
||||
// Assert
|
||||
var expectedDomain = domains.FirstOrDefault(domain => domain.DomainName == organizationDomain.DomainName);
|
||||
Assert.Null(expectedDomain);
|
||||
}
|
||||
|
||||
[DatabaseTheory, DatabaseData]
|
||||
public async Task GetManyByNextRunDateAsync_ShouldNotReturnVerifiedDomains(
|
||||
IOrganizationRepository organizationRepository,
|
||||
IOrganizationDomainRepository organizationDomainRepository)
|
||||
{
|
||||
// Arrange
|
||||
var id = Guid.NewGuid();
|
||||
|
||||
var organization1 = await organizationRepository.CreateAsync(new Organization
|
||||
{
|
||||
Name = $"Test Org {id}",
|
||||
BillingEmail = $"test+{id}@example.com",
|
||||
Plan = "Test",
|
||||
PrivateKey = "privatekey",
|
||||
|
||||
});
|
||||
|
||||
var organizationDomain = new OrganizationDomain
|
||||
{
|
||||
OrganizationId = organization1.Id,
|
||||
DomainName = $"domain2+{id}@example.com",
|
||||
Txt = "btw+12345"
|
||||
};
|
||||
|
||||
var within36HoursWindow = 1;
|
||||
organizationDomain.SetNextRunDate(within36HoursWindow);
|
||||
organizationDomain.SetVerifiedDate();
|
||||
|
||||
await organizationDomainRepository.CreateAsync(organizationDomain);
|
||||
|
||||
var date = DateTimeOffset.UtcNow.Date.AddDays(1);
|
||||
|
||||
// Act
|
||||
var domains = await organizationDomainRepository.GetManyByNextRunDateAsync(date);
|
||||
|
||||
// Assert
|
||||
var expectedDomain = domains.FirstOrDefault(domain => domain.DomainName == organizationDomain.DomainName);
|
||||
Assert.Null(expectedDomain);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user