public void Add() { new Dummy().Create(); IOStockDataAmenderViewModel viewmodel = new IOStockDataAmenderViewModel(); InventoryStatusViewModel inventoryStatusViewModel = new InventoryStatusViewModel(); IOStockStatusViewModel iostockStatusViewModel = new IOStockStatusViewModel(); //날짜를 선택 iostockStatusViewModel.SelectedGroupItem = IOStockStatusViewModel.GROUPITEM_DATE; iostockStatusViewModel.DatePickerViewModel.TodayCommand.Execute(null); //올해 버튼을 클릭 Assert.IsFalse(viewmodel.IsReadOnlyProductTextBox); //제품 이름 변경 가능 Assert.IsTrue(viewmodel.ProductSearchCommand.CanExecute(null)); //제품 선택 가능 //정보 입력 viewmodel.StockType = IOStockType.INCOMING; viewmodel.ProductText = "some product"; Assert.IsTrue(viewmodel.Product == null); var spec = viewmodel.SpecificationText = "some specification"; var specMemo = viewmodel.SpecificationMemo = "some specification meno"; var maker = viewmodel.MakerText = "some maker"; var measure = viewmodel.MeasureText = "some measure"; var client = viewmodel.ClientText = "some client"; var warehouse = viewmodel.WarehouseText = "some warehouse"; var project = viewmodel.ProjectText = "some project"; var employee = viewmodel.EmployeeText = "some name"; var memo = viewmodel.Memo = "some memo"; var qty = viewmodel.Quantity = 666; var price = viewmodel.UnitPrice = 6666; var remain = viewmodel.RemainingQuantity; //저장 var iostock = viewmodel.Record(); Assert.IsTrue(iostock.StockType == IOStockType.INCOMING); Assert.IsTrue(iostock.Supplier != null); Assert.IsTrue(iostock.Customer == null); //입출고 데이터그리드에 추가되었는지 확인 Assert.IsTrue(iostockStatusViewModel.DataGridViewModel.Items.Any(x => x.ID == iostock.ID)); var inoutStock = iostockStatusViewModel.DataGridViewModel.Items.Where(x => x.ID == iostock.ID).Single(); //재고 데이터그리드에 추가되었는지 확인 Assert.IsTrue(inventoryStatusViewModel.GetDataGridItems().Any(x => x.ID == iostock.Inventory.ID)); var inventory = inventoryStatusViewModel.GetDataGridItems().Where(x => x.ID == iostock.Inventory.ID).Single(); var oid = DataDirector.GetInstance(); //검사 Assert.IsNotNull(oid.SearchInventory(iostock.Inventory.ID)); //inventory director에 추가되었는지 확인한다. Assert.AreEqual(spec, iostock.Inventory.Specification); Assert.AreEqual(specMemo, iostock.Inventory.Memo); Assert.AreEqual(maker, iostock.Inventory.Maker.Name); Assert.AreEqual(measure, iostock.Inventory.Measure.Name); Assert.AreEqual(client, iostock.Supplier.Name); Assert.AreEqual(warehouse, iostock.Warehouse.Name); Assert.AreEqual(employee, iostock.Employee.Name); Assert.AreEqual((int)qty, iostock.Quantity); Assert.AreEqual(memo, iostock.Memo); Assert.AreEqual(price, iostock.UnitPrice); Assert.AreEqual(qty, iostock.RemainingQuantity); Assert.AreEqual((int)qty, iostock.Inventory.Quantity); var ofd = DataDirector.GetInstance(); Assert.IsNotNull(ofd.SearchField<Maker>(iostock.Inventory.Maker.ID)); Assert.IsNotNull(ofd.SearchField<Measure>(iostock.Inventory.Measure.ID)); }
public void SelectDatePicker() { var viewmodel = new IOStockStatusViewModel(); Assert.AreEqual(0, viewmodel.DataGridViewModel.Items.Count); //날짜를 선택 viewmodel.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_DATE; viewmodel.DatePickerViewModel.LastYearCommand.Execute(null); //올해 버튼을 클릭 Assert.AreNotEqual(0, viewmodel.DataGridViewModel.Items.Count); //올해에 입력된 입출고 데이터를 데이터그리드에 추가 foreach (var item in viewmodel.DataGridViewModel.Items) { Assert.IsTrue(new DateTime(DateTime.Now.Year - 1, 1, 1).Ticks < item.Date.Ticks); } }
public void DeleteItemThenSyncIOStockViewModel() { var viewmodel = new InventoryStatusViewModel(); var iosvm = new IOStockStatusViewModel(); iosvm.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PRODUCT; var item = viewmodel.DataGridViewModel1.SelectedItem = viewmodel.DataGridViewModel1.Items.Random(); string inventoryID = item.ID; Console.WriteLine("삭제할 Inventory ID: " + inventoryID); var node = viewmodel.TreeViewViewModel.Root.SelectMany(x => x.Descendants().Where(y => y.ObservableObjectID == item.Product.ID)).Single(); iosvm.TreeViewViewModel.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node }, null)); Console.WriteLine("삭제 전 입출고 현황 데이터그리드 아이템 Inventory ID 목록"); iosvm.DataGridViewModel.Items.ToList().ForEach(x => Console.WriteLine(x.Inventory.ID)); viewmodel.DataGridViewModel1.InventoryDataDeletionCommand.Execute(null); Console.WriteLine("삭제 후 입출고 현황 데이터그리드 아이템 Inventory ID 목록"); iosvm.DataGridViewModel.Items.ToList().ForEach(x => Console.WriteLine(x.Inventory.ID)); Assert.IsTrue(iosvm.DataGridViewModel.Items.All(x => x.Inventory.ID != inventoryID)); }
public void Quantity4() { new Dummy().Create(); IOStockStatusViewModel iostockStatusViewModel = new IOStockStatusViewModel(); IOStockDataAmenderViewModel viewmodel = new IOStockDataAmenderViewModel(); //설정 viewmodel.StockType = new Random().NextDouble() > 0.5 ? IOStockType.INCOMING : IOStockType.OUTGOING; var product = viewmodel.Product = DataDirector.GetInstance().CopyFields<Product>().Random(); var inven = viewmodel.Inventory = viewmodel.InventoryList.Random(); var beforeInvenQty = inven.Quantity; var date = viewmodel.Date = DateTime.Now.AddDays(-600.0 * new Random().NextDouble()); //과거로 저장 int qty = new Random().Next(1, 10); viewmodel.Quantity = qty; //저장 IObservableIOStockProperties obIOStock = viewmodel.Record(); CheckQuantity(obIOStock.Inventory as ObservableInventory); }
public void Modify5() { new Dummy().Create(); var formats = DataDirector.GetInstance().DB.Select<IOStockFormat>(); var fmt = formats.Random(); ObservableIOStock ios = new ObservableIOStock(fmt); //DataGrid 업데이트 IOStockStatusViewModel iosViewModel = new IOStockStatusViewModel(); TreeViewNode node = TreeViewNodeDirector.GetInstance().SearchObservableObjectNode(ios.Inventory.Product.ID); if (node != null) { MultiSelectTreeViewModelView treeView = iosViewModel.TreeViewViewModel; treeView.SelectedNodes.Clear(); treeView.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new TreeViewNode[] { node }, null)); } Assert.AreNotEqual(0, iosViewModel.DataGridViewModel.Items.Count); IOStockDataAmenderViewModel viewmodel = new IOStockDataAmenderViewModel(); //추가모드로 열기 viewmodel.Product = ios.Inventory.Product; viewmodel.Inventory = viewmodel.InventoryList.Where(x => x.ID == ios.Inventory.ID).Single(); viewmodel.Maker = null; //null 할당 viewmodel.Maker = null; var newRecord = viewmodel.Record(); newRecord = iosViewModel.DataGridViewModel.Items.Where(x => x.ID == newRecord.ID).Single(); Assert.IsNull(newRecord.Inventory.Maker); viewmodel = new IOStockDataAmenderViewModel(newRecord); //편집모드로 열기 Assert.IsNull(viewmodel.Maker); viewmodel.MakerText = "maKeR"; newRecord = viewmodel.Record(); var jojoEmp = newRecord.Inventory.Maker; Assert.IsNotNull(newRecord.Inventory); Assert.AreEqual(newRecord.Inventory.Maker.Name, "maKeR"); Assert.IsNotNull(DataDirector.GetInstance().SearchField<Maker>(newRecord.Inventory.Maker.ID)); newRecord = iosViewModel.DataGridViewModel.Items.Where(x => x.ID == newRecord.ID).Single(); viewmodel = new IOStockDataAmenderViewModel(newRecord); //편집모드로 열기 viewmodel.Maker = null; viewmodel.MakerText = "maKeR2"; var newnewRecord = viewmodel.Record(); Assert.AreEqual(newnewRecord.Inventory.Maker.Name, "maKeR2"); Assert.AreEqual(jojoEmp.ID, newRecord.Inventory.Maker.ID); }
public void Modify() { new Dummy().Create(); IOStockFormat fmt = null; fmt = DataDirector.GetInstance().DB.Select<IOStockFormat>().Random(); DataDirector.GetInstance().DB.Select<IOStockFormat>().Random(); IOStockType type = fmt.StockType; IOStockStatusViewModel iostockStatusViewModel = new IOStockStatusViewModel(); IOStockDataAmenderViewModel viewmodel = new IOStockDataAmenderViewModel(new ObservableIOStock(fmt)); Assert.AreEqual(type, viewmodel.StockType); string id = fmt.ID; var clientText = viewmodel.ClientText = "SOME CLIENT"; viewmodel.Client = null; var warehouseText = viewmodel.WarehouseText = "SOME WAREHOUSE"; viewmodel.Warehouse = null; var employeeText = viewmodel.EmployeeText = "SOME EMPLOYEE"; viewmodel.Employee = null; var projectText = viewmodel.ProjectText = "SOME PROJECT"; viewmodel.Project = null; var memo = viewmodel.Memo = "SOME MEMO"; var specificationMemo = viewmodel.SpecificationMemo = "SOME SPEC_MEMO"; var makerText = viewmodel.MakerText = "SOME MAKER"; viewmodel.Maker = null; var measureText = viewmodel.MeasureText = "SOME MEASURE"; viewmodel.Measure = null; var qty = viewmodel.Quantity = 1111; var price = viewmodel.UnitPrice = 30302; viewmodel.Record(); fmt = DataDirector.GetInstance().DB.Select<IOStockFormat>(fmt.ID); ObservableIOStock stock = new ObservableIOStock(fmt); if (stock.StockType == IOStockType.INCOMING) { Assert.AreEqual(clientText, stock.Supplier.Name); Assert.AreEqual(warehouseText, stock.Warehouse.Name); } else if (stock.StockType == IOStockType.OUTGOING) { Assert.AreEqual(clientText, stock.Customer.Name); Assert.AreEqual(projectText, stock.Project.Name); } Assert.AreEqual(employeeText, stock.Employee.Name); Assert.AreEqual(memo, stock.Memo); Assert.AreEqual(makerText, stock.Inventory.Maker.Name); Assert.AreEqual(measureText, stock.Inventory.Measure.Name); Assert.AreEqual(type, stock.StockType); var ofd = DataDirector.GetInstance(); Assert.IsNotNull(ofd.SearchField<Maker>(stock.Inventory.Maker.ID)); Assert.IsNotNull(ofd.SearchField<Measure>(stock.Inventory.Measure.ID)); }
/// <summary> /// 새로운 IOStockFormat을 추가하고자 할 경우 /// </summary> /// <param name="ioStockStatusViewModel"></param> public IOStockDataAmenderViewModel(IOStockStatusViewModel ioStockStatusViewModel) : this() { _ioStockStatusViewModel = ioStockStatusViewModel; }
public void SelectProject() { var viewmodel = new IOStockStatusViewModel(); Assert.AreEqual(0, viewmodel.DataGridViewModel.Items.Count); //프로젝트 선택 viewmodel.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PROJECT; var project = viewmodel.ProjectListBoxViewModel.SelectedItem = viewmodel.ProjectListBoxViewModel.Items.Random(); Assert.AreNotEqual(0, viewmodel.DataGridViewModel.Items.Count); foreach (var item in viewmodel.DataGridViewModel.Items) { Assert.IsTrue(item.Project == project); } }
public void DeleteSelectedProject() { var viewmodel = new IOStockStatusViewModel(); viewmodel.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PROJECT; viewmodel.ProjectListBoxViewModel.SelectedItem = viewmodel.ProjectListBoxViewModel.Items.Random(); viewmodel.ProjectListBoxViewModel.ExecuteProjectDeletionCommand(); var items = viewmodel.DataGridViewModel.Items; Assert.AreEqual(0, items.Count()); }
public void TestProductSearch() { var viewmodel = new IOStockStatusViewModel(); var searchvm = viewmodel.SearchViewModel; searchvm.SelectedItem = FilterSearchTextBoxViewModel.FILTER_PRODUCT; searchvm.Text = "PBL"; searchvm.SearchCommand.Execute(null); Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(x => x.Inventory.Product.Name.Contains(searchvm.Text))); }
public IOStockStatusViewModel SelectSomeTreeViewNode() { var viewmodel = new IOStockStatusViewModel(); viewmodel.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PRODUCT; TreeViewNode node = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); viewmodel.TreeViewViewModel.AddSelectedNodes(node); return viewmodel; }
public void SearchCommand() { var viewmodel = new IOStockStatusViewModel(); var oid = DataDirector.GetInstance(); var text1 = oid.CopyInventories().Random().Specification; var text2 = oid.CopyInventories().Select(x => x.Product).Distinct().Random().Name; viewmodel.SearchViewModel.Text = text1 + " " + text2; viewmodel.SearchViewModel.SearchCommand.Execute(null); var items = viewmodel.DataGridViewModel.Items; Assert.AreNotEqual(0, items.Count()); }
public void SearchSpecificationName() { var viewmodel = new IOStockStatusViewModel(); var oid = DataDirector.GetInstance(); var text = viewmodel.SearchViewModel.Text = oid.CopyInventories().Random().Specification; viewmodel.SearchViewModel.SearchCommand.Execute(null); var items = viewmodel.DataGridViewModel.Items; Assert.AreNotEqual(0, items.Count()); }
public void ControlInoutStockCheckBox() { var viewmodel = new IOStockStatusViewModel(); viewmodel.IsCheckedInComing = true; viewmodel.IsCheckedOutGoing = true; //제품 하나 선택 viewmodel.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PRODUCT; var node = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); viewmodel.TreeViewViewModel.ExecuteNodesSelectedEventCommand( new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node }, new List<TreeViewNode>())); Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(i => IOStockType.ALL.HasFlag(i.StockType))); viewmodel.IsCheckedInComing = false; Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(i => i.StockType == IOStockType.OUTGOING)); viewmodel.IsCheckedOutGoing = false; Assert.IsTrue(viewmodel.DataGridViewModel.Items.Count == 0); viewmodel.IsCheckedInComing = true; Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(i => i.StockType == IOStockType.INCOMING)); viewmodel.IsCheckedOutGoing = true; Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(i => IOStockType.ALL.HasFlag(i.StockType))); }
public void SelectProduct() { var viewmodel = new IOStockStatusViewModel(); Assert.AreEqual(0, viewmodel.DataGridViewModel.Items.Count); viewmodel.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PRODUCT; var node = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); viewmodel.TreeViewViewModel.ExecuteNodesSelectedEventCommand( new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node }, new List<TreeViewNode>())); viewmodel.OnTreeViewNodesSelected(viewmodel.TreeViewViewModel, new PropertyChangedEventArgs("SelectedNodes")); Assert.AreNotEqual(0, viewmodel.DataGridViewModel.Items.Count); foreach (var item in viewmodel.DataGridViewModel.Items) { Assert.IsTrue(item.Inventory.Product.ID == node.ObservableObjectID); } }
public void CalcQuantity() { var viewmodel = new IOStockStatusViewModel(); var node = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.INVENTORY).Random(); viewmodel.TreeViewViewModel.AddSelectedNodes(node); IEnumerable<IOStockDataGridItem> items = viewmodel.DataGridViewModel.Items; IEnumerable<IOStockDataGridItem> orderedItems = items.OrderBy(x => x.Date); foreach (var i in orderedItems) { int remainQty = 0; string sql = string.Format(@"select (select sum(Quantity) from IOStockFormat where InventoryID = '{0}' and StockType = '{1}' and Date <= '{3}') - (select sum(Quantity) from IOStockFormat where InventoryID = '{0}' and StockType = '{2}' and Date <= '{3}');", i.InventoryID, (int)IOStockType.INCOMING, (int)IOStockType.OUTGOING, i.Date.ToString(MySQLClient.DATETIME)); using (MySqlCommand cmd = new MySqlCommand(sql, _conn)) using (MySqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) remainQty = reader.GetInt32(0); } Assert.AreEqual(remainQty, i.RemainingQuantity); } }
public void TestSpecificationSearch() { var viewmodel = new IOStockStatusViewModel(); var searchvm = viewmodel.SearchViewModel; searchvm.SelectedItem = FilterSearchTextBoxViewModel.FILTER_SPECIFICATION; searchvm.Text = "AW"; searchvm.SearchCommand.Execute(null); Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(x => x.Inventory.Specification.Contains(searchvm.Text))); }
public void AddNewStockData() { IOStockStatusViewModel viewmodel = new IOStockStatusViewModel(); viewmodel.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PROJECT; Observable<Project> project = viewmodel.ProjectListBoxViewModel.SelectedItem = viewmodel.ProjectListBoxViewModel.Items.Random(); var mvm = new IOStockManagerViewModel(DataDirector.GetInstance().CopyInventories().Random()); mvm.Insert(); }
public void TestWarehouseSearch() { var viewmodel = new IOStockStatusViewModel(); var searchvm = viewmodel.SearchViewModel; searchvm.SelectedItem = FilterSearchTextBoxViewModel.FILTER_WAREHOUSE; searchvm.Text = "연구"; searchvm.SearchCommand.Execute(null); Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(x => x.Warehouse.Name.Contains(searchvm.Text))); }
public IOStockManagerViewModel(IOStockStatusViewModel iOStockStatusViewModel, ObservableIOStock stock) : this(stock) { _iOStockStatusViewModel = iOStockStatusViewModel; }
public void TestCustomerSearch() { var viewmodel = new IOStockStatusViewModel(); var searchvm = viewmodel.SearchViewModel; searchvm.SelectedItem = FilterSearchTextBoxViewModel.FILTER_CUSTOMER; searchvm.Text = "테크"; searchvm.SearchCommand.Execute(null); Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(x => x.Customer.Name.Contains(searchvm.Text))); }
/// <summary> /// 기존의 IOStockFormat을 수정하고자 할 경우 /// </summary> /// <param name="ioStockStatusViewModel"></param> /// <param name="ioStock"></param> public IOStockDataAmenderViewModel(IOStockStatusViewModel ioStockStatusViewModel, IObservableIOStockProperties ioStock) : this(ioStock) { _ioStockStatusViewModel = ioStockStatusViewModel; }
public void ProjectListItemDeleteTest() { IOStockStatusViewModel viewmodel = new IOStockStatusViewModel(); viewmodel.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PROJECT; Observable<Project> project = viewmodel.ProjectListBoxViewModel.SelectedItem = viewmodel.ProjectListBoxViewModel.Items.Random(); viewmodel.ProjectListBoxViewModel.ProjectDeletionCommand.Execute(null); Observable<Project> result = DataDirector.GetInstance().SearchField<Project>(project.ID); Assert.IsNull(result); Assert.IsFalse(viewmodel.ProjectListBoxViewModel.Items.Contains(project)); //Assert.AreEqual(0, viewmodel.DataGridViewModel.Items.Count()); Assert.IsNull(viewmodel.DataGridViewModel.SelectedItem); }
public void TestTreeViewSelect() { var viewmodel = new IOStockStatusViewModel(); var node = viewmodel.TreeViewViewModel.Root.SelectMany(x => x.Descendants().Where(y => y.Type == NodeType.INVENTORY)).Random(); viewmodel.TreeViewViewModel.AddSelectedNodes(node); Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(x => x.Inventory.ID == node.ObservableObjectID)); }
public void TestTreeViewSelect3() { var viewmodel = new IOStockStatusViewModel(); var productNode = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); var inventoryNode = productNode.Root.Random(); viewmodel.TreeViewViewModel.AddSelectedNodes(productNode); viewmodel.TreeViewViewModel.AddSelectedNodes(inventoryNode); var inventories = DataDirector.GetInstance().SearchInventories(productNode.ObservableObjectID); var inventoryIds = inventories.Select(x => x.ID); Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(x => x.Inventory.Product.ID == productNode.ObservableObjectID)); }
public void Quantity3() { new Dummy().Create(); IOStockStatusViewModel iostockStatusViewModel = new IOStockStatusViewModel(); IOStockFormat fmt = null; fmt = DataDirector.GetInstance().DB.Select<IOStockFormat>().Random(); IObservableIOStockProperties obIOStock = new ObservableIOStock(fmt); var inventoryQty = obIOStock.Inventory.Quantity; var viewmodel = new IOStockDataAmenderViewModel(obIOStock); viewmodel.Quantity = 12; obIOStock = viewmodel.Record(); CheckQuantity(obIOStock.Inventory as ObservableInventory); }
public void DeleteInventoryNodeThenSyncTreeView() { var viewmodel = new IOStockStatusViewModel(); var productNode = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); var inventoryNode = productNode.Root.Random(); var treeview = viewmodel.TreeViewViewModel; treeview.NodesSelectedEventCommand.Execute(new SelectionChangedCancelEventArgs(new TreeViewNode[] { inventoryNode }, null)); Assert.IsTrue(viewmodel.DataGridViewModel.Items.All(x => x.Inventory.ID == inventoryNode.ObservableObjectID)); //삭제가 가능함 Assert.IsTrue(treeview.CanDeleteNode()); //삭제 명령 treeview.SelectedNodeDeletionCommand.Execute(null); //inventory 리스트에서도 삭제 확인 var inven = DataDirector.GetInstance().SearchInventory(inventoryNode.ObservableObjectID); Assert.IsNull(inven); //treeview에서도 삭제 확인 Assert.IsFalse(TreeViewNodeDirector.GetInstance().Contains(inventoryNode)); //datagrid에서 삭제 확인 Assert.IsFalse(viewmodel.DataGridViewModel.Items.Any(x => x.Inventory.ID == inventoryNode.ObservableObjectID)); }
public IOStockStatusControl() { IOStockStatusViewModel viewmodel = new IOStockStatusViewModel(); DataContext = viewmodel; InitializeComponent(); }
public void WhenModifyQtyThenSyncDataGridViewItems() { ObservableInventory inv = DataDirector.GetInstance().CopyInventories().Random(); IOStockFormat qret = DataDirector.GetInstance().DB.Query<IOStockFormat>("select * from IOStockFormat where InventoryID = '{0}' and StockType = 2 limit 1;", inv.ID).Single(); IOStockStatusViewModel svm = new IOStockStatusViewModel(); svm.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PRODUCT; List<TreeViewNode> nodes = svm.TreeViewViewModel.SearchNodesInRoot(NodeType.INVENTORY); TreeViewNode node = nodes.Where(x => x.ObservableObjectID == qret.InventoryID).Single(); svm.TreeViewViewModel.AddSelectedNodes(node); IOStockDataGridItem stock = DataDirector.GetInstance().StockCollection.Where(x => x.ID == qret.ID).Single(); IOStockManagerViewModel vm = new IOStockManagerViewModel(stock); int qty = vm.Quantity = 10; vm.Update(); ObservableCollection<IOStockDataGridItem> items = svm.DataGridViewModel.Items; IOStockDataGridItem result = items.Where(x => x.ID == stock.ID).Single(); Assert.AreEqual(result, stock); Assert.AreEqual(qty, result.Quantity); }