-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathPauseModuleTests.cs
More file actions
102 lines (86 loc) · 3.8 KB
/
PauseModuleTests.cs
File metadata and controls
102 lines (86 loc) · 3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
using Microsoft.Extensions.Logging;
using Microsoft.Playwright;
using Microsoft.PowerApps.TestEngine.Config;
using Microsoft.PowerApps.TestEngine.Providers;
using Microsoft.PowerApps.TestEngine.System;
using Microsoft.PowerApps.TestEngine.TestInfra;
using Microsoft.PowerFx;
using Moq;
namespace testengine.module.browserlocale.tests
{
public class PauseModuleTests
{
private Mock<ITestInfraFunctions> MockTestInfraFunctions;
private Mock<ITestState> MockTestState;
private Mock<ITestWebProvider> MockTestWebProvider;
private Mock<ISingleTestInstanceState> MockSingleTestInstanceState;
private Mock<IFileSystem> MockFileSystem;
private Mock<IPage> MockPage;
private PowerFxConfig TestConfig;
private NetworkRequestMock TestNetworkRequestMock;
private Mock<ILogger> MockLogger;
public PauseModuleTests()
{
MockTestInfraFunctions = new Mock<ITestInfraFunctions>(MockBehavior.Strict);
MockTestState = new Mock<ITestState>(MockBehavior.Strict);
MockTestWebProvider = new Mock<ITestWebProvider>();
MockSingleTestInstanceState = new Mock<ISingleTestInstanceState>(MockBehavior.Strict);
MockFileSystem = new Mock<IFileSystem>(MockBehavior.Strict);
MockPage = new Mock<IPage>(MockBehavior.Strict);
TestConfig = new PowerFxConfig();
TestNetworkRequestMock = new NetworkRequestMock();
MockLogger = new Mock<ILogger>(MockBehavior.Strict);
}
[Fact]
public void ExtendBrowserContextOptionsLocaleUpdate()
{
// Arrange
var module = new PauseModule();
var options = new BrowserNewContextOptions();
var settings = new TestSettings() { };
// Act
module.ExtendBrowserContextOptions(options, settings);
}
[Fact]
public void RegisterPowerFxFunction()
{
// Arrange
var module = new PauseModule();
// Create test settings with Preview namespace enabled
var testSettings = new TestSettings()
{
ExtensionModules = new TestSettingExtensions()
{
AllowPowerFxNamespaces = new HashSet<string> { "Preview" }
}
};
MockSingleTestInstanceState.Setup(x => x.GetLogger()).Returns(MockLogger.Object);
MockTestState.Setup(x => x.GetTestSettings()).Returns(testSettings);
MockLogger.Setup(x => x.Log(
It.IsAny<LogLevel>(),
It.IsAny<EventId>(),
It.IsAny<It.IsAnyType>(),
It.IsAny<Exception>(),
(Func<It.IsAnyType, Exception, string>)It.IsAny<object>()));
// Act
module.RegisterPowerFxFunction(TestConfig, MockTestInfraFunctions.Object, MockTestWebProvider.Object, MockSingleTestInstanceState.Object, MockTestState.Object, MockFileSystem.Object);
// Assert
MockLogger.Verify(l => l.Log(It.Is<LogLevel>(l => l == LogLevel.Information),
It.IsAny<EventId>(),
It.Is<It.IsAnyType>((v, t) => v.ToString() == "Registered Pause() - Preview namespace enabled"),
It.IsAny<Exception>(),
It.IsAny<Func<It.IsAnyType, Exception, string>>()), Times.AtLeastOnce);
}
[Fact]
public async Task RegisterNetworkRoute()
{
// Arrange
var module = new PauseModule();
// Act
await module.RegisterNetworkRoute(MockTestState.Object, MockSingleTestInstanceState.Object, MockFileSystem.Object, MockPage.Object, TestNetworkRequestMock);
// Assert
}
}
}