mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 03:37:59 +01:00
Revert settings part
This commit is contained in:
@@ -0,0 +1,58 @@
|
|||||||
|
// Copyright (c) Microsoft Corporation
|
||||||
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||||
|
// See the LICENSE file in the project root for more information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.IO.Abstractions.TestingHelpers;
|
||||||
|
using Microsoft.PowerToys.Settings.UI.Library;
|
||||||
|
using Microsoft.PowerToys.Settings.UnitTest;
|
||||||
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using Newtonsoft.Json.Schema;
|
||||||
|
|
||||||
|
namespace CommonLibTest
|
||||||
|
{
|
||||||
|
[TestClass]
|
||||||
|
public class BasePTModuleSettingsTest
|
||||||
|
{
|
||||||
|
// Work around for System.JSON required properties:
|
||||||
|
// https://learn.microsoft.com/dotnet/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to.
|
||||||
|
// Test also fails when the attributes are not initialized i.e they have null values.
|
||||||
|
[TestMethod]
|
||||||
|
[ObsoleteAttribute("This test method is obsolete.", true)]
|
||||||
|
public void ToJsonStringShouldReturnValidJSONOfModelWhenSuccessful()
|
||||||
|
{
|
||||||
|
// Mock Disk access
|
||||||
|
var mockFileSystem = new MockFileSystem();
|
||||||
|
var settingsUtils = new SettingsUtils(mockFileSystem);
|
||||||
|
|
||||||
|
// Arrange
|
||||||
|
string file_name = "test\\BasePTModuleSettingsTest";
|
||||||
|
string expectedSchemaText = @"
|
||||||
|
{
|
||||||
|
'$schema': 'http://json-schema.org/draft-04/schema#',
|
||||||
|
'type': 'object',
|
||||||
|
'properties': {
|
||||||
|
'name': {
|
||||||
|
'type': 'string'
|
||||||
|
},
|
||||||
|
'version': {
|
||||||
|
'type': 'string'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'additionalProperties': false
|
||||||
|
}";
|
||||||
|
|
||||||
|
string testSettingsConfigs = new BasePTSettingsTest().ToJsonString();
|
||||||
|
settingsUtils.SaveSettings(testSettingsConfigs, file_name);
|
||||||
|
JsonSchema expectedSchema = JsonSchema.Parse(expectedSchemaText);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
JObject actualSchema = JObject.Parse(settingsUtils.GetSettingsOrDefault<BasePTSettingsTest>(file_name).ToJsonString());
|
||||||
|
bool valid = actualSchema.IsValid(expectedSchema);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.IsTrue(valid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Windows.CsWinRT" Version="2.0.0" />
|
<PackageReference Include="Microsoft.Windows.CsWinRT" Version="2.0.0" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
|
||||||
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||||
<PackageReference Include="Moq" Version="4.16.1" />
|
<PackageReference Include="Moq" Version="4.16.1" />
|
||||||
<PackageReference Include="MSTest.TestAdapter" Version="2.2.3" />
|
<PackageReference Include="MSTest.TestAdapter" Version="2.2.3" />
|
||||||
<PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
|
<PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
|
||||||
|
|||||||
Reference in New Issue
Block a user