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 DeleteInventoryNodeThenSyncTreeView() { var viewmodel = new InventoryStatusViewModel(); var productNode = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); var inventoryNode = productNode.Root.Random(); var treeview = viewmodel.TreeViewViewModel; treeview.AddSelectedNodes(inventoryNode); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.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.GetDataGridItems().Any(x => x.ID == inventoryNode.ObservableObjectID)); }
public void TestTreeViewSelect3() { var viewmodel = new InventoryStatusViewModel(); 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.GetDataGridItems().All(x => inventoryIds.Contains(x.ID))); }
public void TestTreeViewSelect() { var viewmodel = new InventoryStatusViewModel(); var node = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.INVENTORY).Random(); viewmodel.TreeViewViewModel.NodesSelectedEventCommand.Execute(new SelectionChangedCancelEventArgs(new TreeViewNode[] { node }, null)); Assert.AreEqual(viewmodel.GetDataGridItems().Single().ID, node.ObservableObjectID); }
public void DeleteItemThenSyncDataGridItems() { var viewmodel = new InventoryStatusViewModel(); var item = viewmodel.DataGridViewModel1.SelectedItem = viewmodel.DataGridViewModel1.Items.Random(); viewmodel.DataGridViewModel1.InventoryDataDeletionCommand.Execute(null); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.ID != item.ID)); }
public void WhenSelectNodesThenUpdateDataGrid() { var viewmodel = new InventoryStatusViewModel(); //NODE 하나 선택 var node = viewmodel.TreeViewViewModel.Root.Where(x => x.Type == NodeType.PRODUCT).Random(); viewmodel.TreeViewViewModel.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node }, new List<TreeViewNode>())); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.Product.ID == node.ObservableObjectID)); //다른 NODE하나를 선택 var node2 = viewmodel.TreeViewViewModel.Root.Where(x => x.Type == NodeType.PRODUCT).Random(); viewmodel.TreeViewViewModel.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node2 }, new List<TreeViewNode>() { node })); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.Product.ID == node2.ObservableObjectID)); //NODE 2개를 선택 viewmodel.TreeViewViewModel.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node }, new List<TreeViewNode>() { node })); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.Product.ID == node2.ObservableObjectID || x.Product.ID == node.ObservableObjectID)); }
public void WhenNewInventoryDataInsertThenSyncDataGridViewMdoel() { var inventoryStatusViewModel = new InventoryStatusViewModel(); var node = inventoryStatusViewModel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); inventoryStatusViewModel.TreeViewViewModel.AddSelectedNodes(node); var product = DataDirector.GetInstance().SearchField<Product>(node.ObservableObjectID); var viewmodel = new InventoryManagerViewModel(product); var name = viewmodel.Specification = "some specification"; var inventory = viewmodel.Insert(); Assert.IsTrue(inventoryStatusViewModel.GetDataGridItems().Any(x => x.ID == inventory.ID)); }