CheckComboBox: Fix SelectedItems property
All checks were successful
Test / Run tests (push) Successful in 2m12s

This commit is contained in:
2024-07-23 10:15:17 +02:00
parent 37adf92e80
commit 49f03c0a3c
4 changed files with 17 additions and 4 deletions

View File

@ -8,7 +8,7 @@ using System.Windows.Controls;
namespace Elwig.Controls { namespace Elwig.Controls {
public class CheckComboBox : ListBox { public class CheckComboBox : ListBox {
public new static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register(nameof(SelectedItems), typeof(IList), typeof(CheckComboBox), new FrameworkPropertyMetadata(new ObservableCollection<object>(), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnSelectedItemsChangedCallback)); public new static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register(nameof(SelectedItems), typeof(IList), typeof(CheckComboBox), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnSelectedItemsChangedCallback));
public new IList SelectedItems { public new IList SelectedItems {
get => (IList)GetValue(SelectedItemsProperty); get => (IList)GetValue(SelectedItemsProperty);
set => SetValue(SelectedItemsProperty, value); set => SetValue(SelectedItemsProperty, value);
@ -72,6 +72,7 @@ namespace Elwig.Controls {
public CheckComboBox() { public CheckComboBox() {
SelectionMode = SelectionMode.Multiple; SelectionMode = SelectionMode.Multiple;
SelectedItems = new ObservableCollection<object>();
} }
public override void OnApplyTemplate() { public override void OnApplyTemplate() {

View File

@ -1,5 +1,6 @@
<local:ContextWindow <local:ContextWindow
x:Class="Elwig.Windows.MailWindow" x:Class="Elwig.Windows.MailWindow"
AutomationProperties.AutomationId="MailWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

View File

@ -139,7 +139,7 @@ namespace Elwig.Windows {
AvaiableDocumentsList.ItemsSource = l; AvaiableDocumentsList.ItemsSource = l;
ControlUtils.RenewItemsSource(MemberBranchInput, await ctx.Branches ControlUtils.RenewItemsSource(MemberBranchInput, await ctx.Branches
.Where(b => b.Members.Any()) .Where(b => b.Members.Count != 0)
.OrderBy(b => b.Name) .OrderBy(b => b.Name)
.ToListAsync(), MemberInput_SelectionChanged); .ToListAsync(), MemberInput_SelectionChanged);
if (MemberBranchInput.SelectedItems.Count == 0) { if (MemberBranchInput.SelectedItems.Count == 0) {
@ -148,7 +148,7 @@ namespace Elwig.Windows {
MemberBranchInput.SelectionChanged += MemberInput_SelectionChanged; MemberBranchInput.SelectionChanged += MemberInput_SelectionChanged;
} }
ControlUtils.RenewItemsSource(MemberKgInput, await ctx.Katastralgemeinden ControlUtils.RenewItemsSource(MemberKgInput, await ctx.Katastralgemeinden
.Where(k => k.WbKg!.Members.Any()) .Where(k => k.WbKg!.Members.Count != 0)
.OrderBy(k => k.Name) .OrderBy(k => k.Name)
.ToListAsync(), MemberInput_SelectionChanged); .ToListAsync(), MemberInput_SelectionChanged);
if (MemberKgInput.SelectedItems.Count == 0) { if (MemberKgInput.SelectedItems.Count == 0) {
@ -561,7 +561,7 @@ namespace Elwig.Windows {
double totalNum = printNum + emailNum; double totalNum = printNum + emailNum;
var email = memberDocs var email = memberDocs
.Where(d => d.Docs.Count > 0 && d.Member.EmailAddresses.Any() && (emailMode == 2 || (emailMode == 1 && d.Member.ContactViaEmail))) .Where(d => d.Docs.Count > 0 && d.Member.EmailAddresses.Count > 0 && (emailMode == 2 || (emailMode == 1 && d.Member.ContactViaEmail)))
.ToDictionary(d => d.Member, m => { .ToDictionary(d => d.Member, m => {
var docs = m.Docs.Select(d => d.Doc).ToList(); var docs = m.Docs.Select(d => d.Doc).ToList();
foreach (var doc in docs) { foreach (var doc in docs) {

View File

@ -46,5 +46,16 @@
window.Close(); window.Close();
}); });
} }
[Test]
public void Test_Open_MailWindow() {
Assert.DoesNotThrow(() => {
Session.App.FindElement(By.Name("Rundschreiben")).Click();
Thread.Sleep(Utils.WINDOW_OPEN_SLEEP);
var window = Session.CreateWindowDriver("MailWindow");
Assert.That(window.Title, Is.EqualTo($"Rundschreiben - Lese {Elwig.Helpers.Utils.Today.Year} - Elwig"));
window.Close();
});
}
} }
} }