Browse Source

Tests fixed for read model.

pull/65/head
Sebastian Stehle 9 years ago
parent
commit
fee7076eb3
  1. 3
      src/Squidex.Read/Apps/Services/Implementations/ConfigAppLimitsProvider.cs
  2. 2
      src/Squidex.Read/Apps/Services/Implementations/NoopAppPlanBillingManager.cs
  3. 22
      tests/Squidex.Read.Tests/Apps/ConfigAppLimitsProviderTests.cs
  4. 50
      tests/Squidex.Read.Tests/Apps/NoopAppPlanBillingManagerTests.cs

3
src/Squidex.Read/Apps/Services/Implementations/ConfigAppLimitsProvider.cs

@ -17,6 +17,7 @@ namespace Squidex.Read.Apps.Services.Implementations
{ {
private static readonly ConfigAppLimitsPlan Infinite = new ConfigAppLimitsPlan private static readonly ConfigAppLimitsPlan Infinite = new ConfigAppLimitsPlan
{ {
Id = "infinite",
Name = "Infinite", Name = "Infinite",
MaxApiCalls = -1, MaxApiCalls = -1,
MaxAssetSize = -1, MaxAssetSize = -1,
@ -46,7 +47,7 @@ namespace Squidex.Read.Apps.Services.Implementations
public IAppLimitsPlan GetPlan(string planId) public IAppLimitsPlan GetPlan(string planId)
{ {
return config.GetOrDefault(planId ?? string.Empty) ?? config.Values.First() ?? Infinite; return config.GetOrDefault(planId ?? string.Empty) ?? config.Values.FirstOrDefault() ?? Infinite;
} }
public bool IsConfiguredPlan(string planId) public bool IsConfiguredPlan(string planId)

2
src/Squidex.Read/Apps/Services/Implementations/NoopAppPlanBillingManager.cs

@ -21,7 +21,7 @@ namespace Squidex.Read.Apps.Services.Implementations
public string FreePlanId public string FreePlanId
{ {
get { return "free"; } get { return "infinite"; }
} }
public Task ChangePlanAsync(string userId, Guid appId, string appName, string planId) public Task ChangePlanAsync(string userId, Guid appId, string appName, string planId)

22
tests/Squidex.Read.Tests/Apps/ConfigAppLimitsProviderTests.cs

@ -44,15 +44,18 @@ namespace Squidex.Read.Apps
Plans.OrderBy(x => x.MaxApiCalls).ShouldBeEquivalentTo(sut.GetAvailablePlans()); Plans.OrderBy(x => x.MaxApiCalls).ShouldBeEquivalentTo(sut.GetAvailablePlans());
} }
[Fact] [Theory]
public void Should_return_infinite_if_nothing_configured() [InlineData(null)]
[InlineData("my-plan")]
public void Should_return_infinite_if_nothing_configured(string planId)
{ {
var sut = new ConfigAppPlansProvider(Enumerable.Empty<ConfigAppLimitsPlan>()); var sut = new ConfigAppPlansProvider(Enumerable.Empty<ConfigAppLimitsPlan>());
var plan = sut.GetPlanForApp(CreateApp("my-plan")); var plan = sut.GetPlanForApp(CreateApp(planId));
plan.ShouldBeEquivalentTo(new ConfigAppLimitsPlan plan.ShouldBeEquivalentTo(new ConfigAppLimitsPlan
{ {
Id = "infinite",
Name = "Infinite", Name = "Infinite",
MaxApiCalls = -1, MaxApiCalls = -1,
MaxAssetSize = -1, MaxAssetSize = -1,
@ -60,6 +63,19 @@ namespace Squidex.Read.Apps
}); });
} }
[Fact]
public void Should_check_plan_exists()
{
var sut = new ConfigAppPlansProvider(Plans);
Assert.True(sut.IsConfiguredPlan("basic"));
Assert.True(sut.IsConfiguredPlan("free"));
Assert.False(sut.IsConfiguredPlan("infinite"));
Assert.False(sut.IsConfiguredPlan("invalid"));
Assert.False(sut.IsConfiguredPlan(null));
}
[Fact] [Fact]
public void Should_return_fitting_app_plan() public void Should_return_fitting_app_plan()
{ {

50
tests/Squidex.Read.Tests/Apps/NoopAppPlanBillingManagerTests.cs

@ -0,0 +1,50 @@
// ==========================================================================
// NoopAppPlanBillingManagerTests.cs
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex Group
// All rights reserved.
// ==========================================================================
using System;
using System.Threading.Tasks;
using Squidex.Read.Apps.Services.Implementations;
using Xunit;
namespace Squidex.Read.Apps
{
public class NoopAppPlanBillingManagerTests
{
private readonly NoopAppPlanBillingManager sut = new NoopAppPlanBillingManager();
[Fact]
public void Should_not_have_portal()
{
Assert.False(sut.HasPortal);
}
[Fact]
public void Should_provide_free_plan()
{
Assert.Equal("infinite", sut.FreePlanId);
}
[Fact]
public async Task Should_do_nothing_when_changing_plan()
{
await sut.ChangePlanAsync(null, Guid.Empty, null, null);
}
[Fact]
public async Task Should_return_true_for_payment_option_check()
{
Assert.True(await sut.HasPaymentOptionsAsync(null));
}
[Fact]
public async Task Should_not_return_portal_link()
{
Assert.Equal(string.Empty, await sut.GetPortalLinkAsync(null));
}
}
}
Loading…
Cancel
Save