mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-09-19 01:58:14 +08:00
init commit
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests
|
||||
{
|
||||
public class WechatTenpayExecuteMarketingBusifavorTests
|
||||
{
|
||||
[Fact(DisplayName = "[POST] /marketing/busifavor/stocks")]
|
||||
public async Task CreateMarketingBusifavorStockTest()
|
||||
{
|
||||
var request = new Models.CreateMarketingBusifavorStockRequest()
|
||||
{
|
||||
StockName = "FAKE_STOCK",
|
||||
StockType = "NORMAL",
|
||||
OutRequestNumber = "TEST_ORN_" + DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff"),
|
||||
StockSendRule = new Models.CreateMarketingBusifavorStockRequest.Types.StockSendRule()
|
||||
{
|
||||
MaxCoupons = 1,
|
||||
MaxCouponsPerUser = 1
|
||||
},
|
||||
CouponUseRule = new Models.CreateMarketingBusifavorStockRequest.Types.CouponUseRule()
|
||||
{
|
||||
CouponAvailableTime = new Models.CreateMarketingBusifavorStockRequest.Types.CouponUseRule.Types.CouponAvailableTime()
|
||||
{
|
||||
AvailableBeginTime = DateTime.Today.AddDays(1),
|
||||
AvailableEndTime = DateTime.Today.AddDays(31)
|
||||
},
|
||||
NormalCoupon = new Models.CreateMarketingBusifavorStockRequest.Types.CouponUseRule.Types.NormalCoupon()
|
||||
{
|
||||
DiscountAmount = 1,
|
||||
TransactionMinimum = 1
|
||||
},
|
||||
UseMethod = "OFF_LINE"
|
||||
},
|
||||
GoodsName = "FAKE_GOODS",
|
||||
CouponCodeMode = "WECHATPAY_MODE"
|
||||
};
|
||||
var response = await TestClients.Instance.ExecuteCreateMarketingBusifavorStockAsync(request);
|
||||
|
||||
Assert.True(response.IsSuccessful());
|
||||
Assert.NotNull(response.StockId);
|
||||
}
|
||||
|
||||
[Fact(DisplayName = "[GET] /marketing/busifavor/stocks/{stock_id}")]
|
||||
public async Task GetMarketingBusifavorStockByStockIdTest()
|
||||
{
|
||||
var request = new Models.GetMarketingBusifavorStockByStockIdRequest()
|
||||
{
|
||||
StockId = "FAKE_STOCKID"
|
||||
};
|
||||
var response = await TestClients.Instance.ExecuteGetMarketingBusifavorStockByStockIdAsync(request);
|
||||
|
||||
Assert.True(response.IsSuccessful());
|
||||
Assert.NotNull(response.StockId);
|
||||
Assert.NotNull(response.StockName);
|
||||
Assert.NotNull(response.StockType);
|
||||
Assert.NotNull(response.StockState);
|
||||
Assert.NotNull(response.StockSendRule);
|
||||
Assert.NotNull(response.CouponUseRule);
|
||||
Assert.NotNull(response.CouponCodeMode);
|
||||
}
|
||||
|
||||
[Fact(DisplayName = "[GET] /marketing/busifavor/users/{openid}/coupons")]
|
||||
public async Task QueryMarketingBusifavorUserCouponsTest()
|
||||
{
|
||||
var request = new Models.QueryMarketingBusifavorUserCouponsRequest()
|
||||
{
|
||||
AppId = TestConfigs.WechatAppId,
|
||||
OpenId = TestConfigs.WechatOpenId,
|
||||
BelongMerchantId = TestConfigs.WechatMerchantId
|
||||
};
|
||||
var response = await TestClients.Instance.ExecuteQueryMarketingBusifavorUserCouponsAsync(request);
|
||||
|
||||
Assert.True(response.IsSuccessful());
|
||||
}
|
||||
|
||||
[Fact(DisplayName = "[POST] /marketing/busifavor/callbacks")]
|
||||
public async Task UpdateMarketingBusifavorCallbackTest()
|
||||
{
|
||||
var request = new Models.UpdateMarketingBusifavorCallbackRequest()
|
||||
{
|
||||
NotifyUrl = "https://FAKE_URL"
|
||||
};
|
||||
var response = await TestClients.Instance.ExecuteUpdateMarketingBusifavorCallbackAsync(request);
|
||||
|
||||
Assert.True(response.IsSuccessful());
|
||||
Assert.NotNull(response.NotifyUrl);
|
||||
}
|
||||
|
||||
[Fact(DisplayName = "[GET] /marketing/busifavor/callbacks")]
|
||||
public async Task GetMarketingBusifavorCallbackTest()
|
||||
{
|
||||
var request = new Models.GetMarketingBusifavorCallbackRequest();
|
||||
var response = await TestClients.Instance.ExecuteGetMarketingBusifavorCallbackAsync(request);
|
||||
|
||||
Assert.True(response.IsSuccessful());
|
||||
Assert.NotNull(response.NotifyUrl);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user