mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-19 07:44:46 +08:00
105 lines
4.3 KiB
C#
105 lines
4.3 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|