feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization
This commit is contained in:
parent
a88aafa1e5
commit
0e568f1f0a
975 changed files with 130593 additions and 16783 deletions
39
tests/Paca.Tests/Mobile/MobileDeepLinkTargetGateTests.cs
Normal file
39
tests/Paca.Tests/Mobile/MobileDeepLinkTargetGateTests.cs
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
using System.IO;
|
||||
using Paca.Mobile.Core;
|
||||
using Paca.Tests.Infrastructure;
|
||||
using Xunit;
|
||||
|
||||
namespace Paca.Tests.Mobile;
|
||||
|
||||
public class MobileDeepLinkTargetGateTests
|
||||
{
|
||||
[Fact]
|
||||
public void Gate221_MobileDeepLinkTarget_DeliversAndConsumes_Action()
|
||||
{
|
||||
// 1. Consume empty
|
||||
_ = MobileDeepLinkTarget.Consume();
|
||||
|
||||
// 2. Deliver valid paca URI
|
||||
MobileDeepLinkTarget.Deliver("paca://download?url=https%3A%2F%2Ftest.com%2Fvideo.mp4");
|
||||
|
||||
// 3. Consume returns action
|
||||
var action = MobileDeepLinkTarget.Consume();
|
||||
Assert.NotNull(action);
|
||||
var dl = Assert.IsType<PacaDownloadDeepLinkAction>(action);
|
||||
Assert.Equal("https://test.com/video.mp4", dl.TargetUrl);
|
||||
|
||||
// 4. Second consume is null
|
||||
Assert.Null(MobileDeepLinkTarget.Consume());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Gate222_MobileMainActivity_HasPacaSchemeIntentFilter()
|
||||
{
|
||||
var mainActivityPath = Path.Combine(SourceTree.Root, "src", "Paca.Mobile", "Platforms", "Android", "MainActivity.cs");
|
||||
Assert.True(File.Exists(mainActivityPath), "MainActivity.cs must exist");
|
||||
|
||||
var code = File.ReadAllText(mainActivityPath);
|
||||
Assert.Contains(@"DataScheme = ""paca""", code);
|
||||
Assert.Contains(@"Intent.ActionView", code);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue