Files
modernkeepass/ModernKeePassApp.Test/ViewModelsTests.cs

104 lines
3.5 KiB
C#
Raw Normal View History

using System;
using System.Linq;
using Windows.ApplicationModel;
using Windows.Storage.AccessCache;
using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;
using ModernKeePass.ViewModels;
using ModernKeePassApp.Test.Mock;
namespace ModernKeePassApp.Test
{
[TestClass]
public class ViewModelsTests
{
[TestMethod]
public void TestAboutVm()
{
var aboutVm = new AboutVm(Package.Current);
Assert.AreEqual("1.0", aboutVm.Version);
}
[TestMethod]
public void TestMainVm()
{
var database = new DatabaseHelperMock();
var mainVm = new MainVm(null, null, database);
Assert.AreEqual(1, mainVm.MainMenuItems.Count());
var firstGroup = mainVm.MainMenuItems.FirstOrDefault();
Assert.AreEqual(6, firstGroup.Count());
database.Status = 1;
mainVm = new MainVm(null, null, database);
Assert.IsNotNull(mainVm.SelectedItem);
Assert.AreEqual("Open", ((MainMenuItemVm) mainVm.SelectedItem).Title);
database.Status = 2;
mainVm = new MainVm(null, null, database);
Assert.IsNotNull(mainVm.SelectedItem);
Assert.AreEqual(2, mainVm.MainMenuItems.Count());
Assert.AreEqual("Save", ((MainMenuItemVm) mainVm.SelectedItem).Title);
}
[TestMethod]
public void TestCompositeKeyVm()
{
var database = new DatabaseHelperMock();
var compositeKeyVm = new CompositeKeyVm(database);
Assert.IsTrue(compositeKeyVm.OpenDatabase(false).GetAwaiter().GetResult());
compositeKeyVm.StatusType = 1;
compositeKeyVm.Password = "test";
Assert.AreEqual(0, compositeKeyVm.StatusType);
Assert.AreEqual(15.0, compositeKeyVm.PasswordComplexityIndicator);
}
[TestMethod]
public void TestOpenVm()
{
var database = new DatabaseHelperMock
{
Status = 1,
DatabaseFile = Package.Current.InstalledLocation.GetFileAsync(@"Databases\TestDatabase.kdbx")
.GetAwaiter().GetResult()
};
var openVm = new OpenVm(database);
Assert.IsTrue(openVm.ShowPasswordBox);
Assert.AreEqual("MockDatabase", openVm.Name);
}
/*[TestMethod]
public void TestNewVm()
{
}*/
[TestMethod]
public void TestRecentVm()
{
var mru = StorageApplicationPermissions.MostRecentlyUsedList;
mru.Add(Package.Current.InstalledLocation.GetFileAsync(@"Databases\TestDatabase.kdbx")
.GetAwaiter().GetResult(), "MockDatabase");
var recentVm = new RecentVm();
Assert.IsTrue(recentVm.RecentItems.Count == 1);
recentVm.SelectedItem = recentVm.RecentItems.FirstOrDefault();
Assert.IsTrue(recentVm.SelectedItem.IsSelected);
mru.Clear();
}
/*[TestMethod]
public void TestSaveVm()
{
}*/
[TestMethod]
public void TestSettingsVm()
{
var settingsVm = new SettingsVm();
Assert.AreEqual(1, settingsVm.MenuItems.Count());
var firstGroup = settingsVm.MenuItems.FirstOrDefault();
Assert.AreEqual(1, firstGroup.Count());
Assert.IsNotNull(settingsVm.SelectedItem);
var selectedItem = (ListMenuItemVm) settingsVm.SelectedItem;
Assert.AreEqual("New", selectedItem.Title);
}
}
}