Exemple #1
0
 public void Constructor_InitializesTitle_ToSelectedItemValue()
 {
     _state.SelectItem(TestItems[0]);
     using (var sut = new ItemEditorViewModel(_state))
     {
         Assert.Equal(TestItems[0].Title, sut.Title);
     }
 }
Exemple #2
0
 public void Constructor_InitializesNotes_ToSelectedItemValue()
 {
     _state.SelectItem(TestItems[1]);
     using (var sut = new ItemEditorViewModel(_state))
     {
         Assert.Equal(TestItems[1].Notes, sut.Notes);
     }
 }
Exemple #3
0
 public void IsComplete_Updates_WhenSelectedItemChanges()
 {
     _state.SelectItem(TestItems[0]);
     using (var sut = new ItemEditorViewModel(_state))
     {
         _state.SelectItem(TestItems[1]);
         Assert.Equal(TestItems[1].IsComplete, sut.IsComplete);
     }
 }
Exemple #4
0
 public void ChangeTitleCommand_UpdatesSelectedItemTitle()
 {
     _state.SelectItem(TestItems[0]);
     using (var sut = new ItemEditorViewModel(_state))
     {
         sut.ChangeTitleCommand.Execute("New title");
         Assert.Equal("New title", _state.SelectedItem.Title);
     }
 }
Exemple #5
0
 public void ToggleCompleteCommand_UpdatesSelectedItemIsComplete()
 {
     _state.SelectItem(TestItems[0]);
     using (var sut = new ItemEditorViewModel(_state))
     {
         sut.ToggleCompleteCommand.Execute(true);
         Assert.True(_state.SelectedItem.IsComplete);
     }
 }
Exemple #6
0
 public void ChangeNotesCommand_UpdatesSelectedItemNotes()
 {
     _state.SelectItem(TestItems[0]);
     using (var sut = new ItemEditorViewModel(_state))
     {
         sut.ChangeNotesCommand.Execute("New notes");
         Assert.Equal("New notes", _state.SelectedItem.Notes);
     }
 }
Exemple #7
0
 public void IsComplete_Updates_WhenSelectedItemIsCompleteChanges()
 {
     _state.SelectItem(TestItems[0]);
     using (var sut = new ItemEditorViewModel(_state))
     {
         _state.Items[0].IsComplete = true;
         Assert.True(sut.IsComplete);
     }
 }
Exemple #8
0
 public void UnsubscribesFromItemUpdates_OnItemChanged()
 {
     _state.SelectItem(TestItems[0]);
     using (var sut = new ItemEditorViewModel(_state))
     {
         _state.SelectItem(TestItems[2]);
         _state.Items[0].IsComplete = true;
         Assert.False(sut.IsComplete);
     }
 }
Exemple #9
0
        public void IsComplete_RaisesPropertyChanged_WhenValueChanged()
        {
            using (var sut = new ItemEditorViewModel(_state))
            {
                String lastPropertyChanged = null;
                sut.PropertyChanged += (sender, e) => lastPropertyChanged = e.PropertyName;

                sut.IsComplete = !sut.IsComplete;
                Assert.Equal(nameof(ItemEditorViewModel.IsComplete), lastPropertyChanged);
            }
        }
Exemple #10
0
        public void Dispose_UnsubscribesFromToDoItemUpdates()
        {
            _state.SelectItem(TestItems[0]);

            var sut = new ItemEditorViewModel(_state);

            sut.Dispose();

            _state.Items[0].IsComplete = true;
            Assert.False(sut.IsComplete);
        }
Exemple #11
0
        public void Title_RaisesPropertyChanged_WhenValueChanges()
        {
            using (var sut = new ItemEditorViewModel(_state))
            {
                String lastPropertyChanged = null;
                sut.PropertyChanged += (sender, e) => lastPropertyChanged = e.PropertyName;

                sut.Title = "New title";
                Assert.Equal(nameof(ItemEditorViewModel.Title), lastPropertyChanged);
            }
        }
Exemple #12
0
        public InventoryViewModel(ICommandHandler commandHandler, IItemRepository itemRepo)
            : base(commandHandler)
        {
            // NOTE this is very important for database to work
            Database.SetInitializer <SQLServerDbContext>(new DropCreateDatabaseIfModelChanges <SQLServerDbContext>());

            _itemRepo            = itemRepo;
            _itemListViewModel   = ContainerHelper.Container.Resolve <ItemListViewModel>();
            _partListViewModel   = ContainerHelper.Container.Resolve <PartListViewModel>();
            _itemEditorViewModel = ContainerHelper.Container.Resolve <ItemEditorViewModel>();
        }
Exemple #13
0
        public ItemEditorPageViewModel(
            ItemListViewModel itemList,
            ItemEditorViewModel itemEditor,
            IMultiItemEditor multiItemEditor,
            ItemListFilterViewModel filter) : base("item Editor", PackIconKind.Edit)
        {
            this.ItemList        = itemList;
            this.MultiItemEditor = multiItemEditor;
            Editor      = this.ItemEditor = itemEditor;
            this.Filter = filter;

            multiItemEditor.BindSelection(itemList.Selection);

            this.disposables.Add(ItemList, ItemEditor, MultiItemEditor, Filter);

            filter.FilterChanges
            .TakeUntil(destroy)
            .Subscribe(itemList.FilterChanges.OnNext,
                       ex =>
                       MessageBox.Show(ex.ToString(), $"{nameof(ItemEditorPageViewModel)}.ctor:subscribe")
                       );

            this.ItemList.Selection.Connect()
            .ToCollection()
            .Subscribe(x =>
            {
                this.IsSingle = x.Count <= 1;
                if (x.Count == 1)
                {
                    itemEditor.SelectItem(x.FirstOrDefault().SourceItem.Id);
                }
                else
                {
                    itemEditor.SelectItem(null);
                }

                if (x.Count <= 1)
                {
                    this.Editor = ItemEditor;
                }
                else
                {
                    this.Editor = MultiItemEditor;
                }
            });
            itemEditor.SetTagpool(Filter.Tagpool);
            multiItemEditor.SetTagpool(Filter.Tagpool);
        }