31 lines
987 B
C#
31 lines
987 B
C#
using QuestionsApi.Models;
|
|
using Xunit;
|
|
|
|
namespace QuestionsApi.Tests;
|
|
|
|
public sealed class AccessCatalogTests
|
|
{
|
|
[Fact]
|
|
public void FreeEconomy_HasTheReleaseLimits()
|
|
{
|
|
Assert.Equal(20, AccessCatalog.FreeQuestionLimit);
|
|
Assert.Equal(20, AccessCatalog.CreditEarningLimit);
|
|
Assert.Equal(100, AccessCatalog.DayPassCreditCost);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("access_day_1", 100, AccessGrant.DayToken)]
|
|
[InlineData("access_week_1", 500, AccessGrant.WeekToken)]
|
|
[InlineData("access_month_1", 2000, AccessGrant.MonthToken)]
|
|
[InlineData("exam_token_1", 199, AccessGrant.ExamToken)]
|
|
[InlineData("qbank_reset_1", 499, AccessGrant.ResetToken)]
|
|
public void Products_HaveServerControlledPrices(string sku, long cents, string grant)
|
|
{
|
|
var product = AccessCatalog.Products[sku];
|
|
|
|
Assert.Equal(cents, product.AmountCents);
|
|
Assert.Equal("usd", product.Currency);
|
|
Assert.Equal(grant, product.Grant);
|
|
}
|
|
}
|