public async Task Mark_Tenant_As_Passive_When_Subscription_Expires() { //Act var utcNow = Clock.Now.ToUniversalTime(); var freeEdition = new SubscribableEdition { DisplayName = "Free Edition" }; var standard = new SubscribableEdition { DisplayName = "Standard Edition" }; await UsingDbContextAsync(async context => { context.SubscribableEditions.Add(freeEdition); context.SubscribableEditions.Add(standard); await context.SaveChangesAsync(); }); var tenant = new Tenant("AbpProjectName", "AbpProjectName") { EditionId = standard.Id, SubscriptionEndDateUtc = utcNow.AddDays(-1) }; await UsingDbContextAsync(async context => { context.Tenants.Add(tenant); await context.SaveChangesAsync(); }); var endSubscirptionResult = await _tenantManager.EndSubscriptionAsync(tenant, standard, utcNow); endSubscirptionResult.ShouldBe(EndSubscriptionResult.TenantSetInActive); UsingDbContext(context => { var updatedTenant = context.Tenants.FirstOrDefault(t => t.Id == tenant.Id); updatedTenant.ShouldNotBe(null); updatedTenant.IsActive.ShouldBe(false); }); }