ExternalMasterPageWriteTests.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Admin.NET.Core;
  2. using Xunit;
  3. namespace Admin.NET.Plugin.AiDOP.Entity.S0.Sales
  4. {
  5. public sealed class ExternalSourceProbe
  6. {
  7. public long Id { get; set; }
  8. public string SourceSystem { get; set; }
  9. }
  10. }
  11. namespace Admin.NET.Plugin.AiDOP.Tests.DataPlatform
  12. {
  13. public class ExternalMasterPageWriteTests
  14. {
  15. [Fact]
  16. public void ExternalS0Row_IsRejectedWithSourceName()
  17. {
  18. var ex = Assert.Throws<InvalidOperationException>(() =>
  19. MdmMirrorWriteScope.RejectPageWrite(new Admin.NET.Plugin.AiDOP.Entity.S0.Sales.ExternalSourceProbe
  20. {
  21. SourceSystem = "MOCK_MODE3"
  22. }));
  23. Assert.Contains("MOCK_MODE3", ex.Message);
  24. Assert.Contains("只读", ex.Message);
  25. }
  26. [Fact]
  27. public void HandBuiltNativeAndNonS0_AreAllowed()
  28. {
  29. MdmMirrorWriteScope.RejectPageWrite(new Admin.NET.Plugin.AiDOP.Entity.S0.Sales.ExternalSourceProbe());
  30. MdmMirrorWriteScope.RejectPageWrite(new Admin.NET.Plugin.AiDOP.Entity.S0.Sales.ExternalSourceProbe
  31. {
  32. SourceSystem = "AIDOP_NATIVE"
  33. });
  34. MdmMirrorWriteScope.RejectPageWrite(new NeutralProbe { SourceSystem = "T8" });
  35. }
  36. [Fact]
  37. public void MirrorWriter_MayUpdateExternalS0Row()
  38. {
  39. using var _ = MdmMirrorWriteScope.Enter();
  40. MdmMirrorWriteScope.RejectPageWrite(new Admin.NET.Plugin.AiDOP.Entity.S0.Sales.ExternalSourceProbe
  41. {
  42. SourceSystem = "MOCK_MODE3"
  43. });
  44. }
  45. private sealed class NeutralProbe
  46. {
  47. public string SourceSystem { get; set; }
  48. }
  49. }
  50. }