public void BuildMenuItemsForRootDropDown_ShouldReturnEntryMenuItems_IfThereIsOnlyASingleDatabase() { var pwDocument = new PwDocument().New().WithNonTotpEntries(2).WithTotpEnabledEntries(4); var sut = _trayMenuItemProvider.BuildMenuItemsForRootDropDown(pwDocument.AsList()).ToList(); sut.Count.Should().Be(4, "because, the items are added directly to the root tray menuitem if there is only a single database opened."); }
public void BuildMenuItemsForRootDropDown_ShouldCreateASingleMenuItemWithLocked_IfASingleLockedDatabasesIsPresent() { var pwDocument = new PwDocument().New().Locked(); var sut = _trayMenuItemProvider.BuildMenuItemsForRootDropDown(pwDocument.AsList()).ToList(); sut.Count.Should().Be(1); sut.First().Text.Should().Contain("[" + Localization.Strings.Locked + "]", "because, there is only a locked database."); }
public void BuildMenuItemsForRootDropDown_ShouldReturnEntryMenuItemsNotInRecycleBin() { var pwDocument = new PwDocument().New().WithNonTotpEntries(2).WithTotpEnabledEntries(4).WithDeletedTotpEnabledEntries(2); var sut = _trayMenuItemProvider.BuildMenuItemsForRootDropDown(pwDocument.AsList()).ToList(); sut.Count.Should().Be(4, "because, valid entries in the recycle bin should not show up."); }
public void BuildMenuItemsForRootDropDown_ShouldReturnCorrectInfo_IfThereAreNoTotpEntries() { var pwDocument = new PwDocument().New().WithNonTotpEntries(4); var sut = _trayMenuItemProvider.BuildMenuItemsForRootDropDown(pwDocument.AsList()).ToList(); sut.Count.Should().Be(1); sut.First().Text.Should().Contain(Localization.Strings.NoTOTPEntriesFound, "because, there were no totp entries found in the database."); }
public void BuildMenuItemsForRootDropDown_ShouldReturnCorrectMenuItem_IfNoDatabaseIsOpened() { var pwDocument = new PwDocument(); var sut = _trayMenuItemProvider.BuildMenuItemsForRootDropDown(pwDocument.AsList()).ToList(); sut.Count.Should().Be(1); sut.First().Text.Should().Be(Localization.Strings.NoDatabaseIsOpened, "because, there is no open database. (KeePass always provides a (new) PwDocument, even if there is no database open."); }
public void BuildMenuItemsForRootDropDown_ShouldCreateDisabledMenuItems_IfTotpSettingsNotValid() { var pwDocument = new PwDocument().New().WithFaultyTotpEnabledEntries(2); var sut = _trayMenuItemProvider.BuildMenuItemsForRootDropDown(pwDocument.AsList()).ToList(); sut.Count.Should().Be(2); sut.Should().OnlyContain(s => !s.Enabled, "because all entries contain invalid settings and can't be used"); }
public void BuildMenuItemsForRootDropDown_ShouldReturnEntryMenuItems_WhenRecycleBinNotEnabled() { var pwDocument = new PwDocument().New().WithNonTotpEntries(2).WithTotpEnabledEntries(4).WithDeletedTotpEnabledEntries(2); // Treat recycle bin as a regular folder pwDocument.Database.RecycleBinEnabled = false; var sut = _trayMenuItemProvider.BuildMenuItemsForRootDropDown(pwDocument.AsList()).ToList(); sut.Count.Should().Be(6, "because, the recycle bin is treated as a regular folder."); }