public async Task TestSubscriptionTierCheck() { var dbContext = TestUtils.CreateDatabase(); try { var testName = "test"; var testId = "auth0|test"; TestUtils.TryRemoveTestUser(testId); TestUtils.CreateTestUser(testName, testId); var user = dbContext.JoinUserModels().FirstOrDefault(u => u.UserIdentity.Auth0Id == testId); user.UserWallet.Balance += 10000001; dbContext.SaveChanges(); var resp = await SubscriptionUtils.Subscribe(dbContext, user, new SubRequest() { SubscriptionName = "BITCORNFarms", Tier = 1, Platform = "test", Amount = 100000 }); Assert.False(await SubscriptionUtils.HasSubscribed(dbContext, user, "BITCORNFarms", 2)); } finally { dbContext.Dispose(); } }
public async Task <ActionResult <bool> > IsSubbed([FromRoute] string platformId, [FromRoute] string subscriptionName, [FromQuery] string subTier = null) { if (string.IsNullOrEmpty(platformId)) { throw new ArgumentException("platformId"); } if (string.IsNullOrEmpty(subscriptionName)) { throw new ArgumentException("subscriptionName"); } try { var id = BitcornUtils.GetPlatformId(platformId); var user = await BitcornUtils.GetUserForPlatform(id, _dbContext).FirstOrDefaultAsync(); if (user != null) { int?tier = null; if (!string.IsNullOrEmpty(subTier)) { try { tier = int.Parse(subTier); } catch { } } return(await SubscriptionUtils.HasSubscribed(_dbContext, user, subscriptionName, tier)); } else { return(StatusCode(404)); } } catch (Exception e) { await BITCORNLogger.LogError(_dbContext, e, JsonConvert.SerializeObject(new { subTier, platformId, subscriptionName })); throw e; } }
public async Task TestNotSubbedCheck() { var dbContext = TestUtils.CreateDatabase(); try { var testName = "test"; var testId = "auth0|test"; TestUtils.TryRemoveTestUser(testId); TestUtils.CreateTestUser(testName, testId); var user = dbContext.JoinUserModels().FirstOrDefault(u => u.UserIdentity.Auth0Id == testId); Assert.False(await SubscriptionUtils.HasSubscribed(dbContext, user, "BITCORNFarms", 1)); } finally { dbContext.Dispose(); } }