public void TestAddItemExecute() { // ARRANGE var businessEntityFactory = new StarBusinessEntityFactory(); IStarBusinessEntity businessEntity = businessEntityFactory.Create(); var usecaseFactory = new AddItemUsecaseFactory(new IdClass()); StarItemDto data = null; var returnInterface = new ItemCreated(); returnInterface.Created += (s, e) => { data = new StarItemDto { Id = e.Id, IsNew = e.IsNew, ItemName = e.ItemName }; }; IAddStarItemInputPort addItemInterActor = usecaseFactory.Create(businessEntity); addItemInterActor.BindOutputBoundary(returnInterface); // ACT addItemInterActor.Execute(); // ASSERT Assert.IsNotNull(data, "StarItemCreated return interface did not return data."); Assert.AreEqual(Guid.Parse(@"01234567-89ab-cdef-0000-0123456789AB"), data.Id); Assert.IsTrue(data.IsNew); Assert.AreEqual(String.Empty, data.ItemName); }
private void SendResponseModel() { var data = new StarItemDto() { Id = this.StarItemBusinessLogic.Id, IsNew = this.StarItemBusinessLogic.IsNew, ItemName = this.StarItemBusinessLogic.ItemName, }; this.OutputBoundary.Created(data); }
void IStarRepositoryGateway.StoreStarItem(StarItemDto data) { var item = Uow.StarItems.Get(data.Id); if (item == null) { var starItem = new StarItemDbo() { Id = data.Id, ItemName = data.ItemName, }; Uow.StarItems.Add(starItem); } else { item.ItemName = data.ItemName; } Uow.Complete(); }
void IStarItemSavedOutputPort.Notify(StarItemDto data) { ; }
private void SaveInformation(StarItemDto data) { this.EntityGateway.StoreStarItem(data); this.OutputBoundary.Notify(data); }
void IStarItemOutputPort.Created(StarItemDto data) { // Do Nothing. }
void IStarItemSavedOutputPort.Notify(StarItemDto data) { this.ViewModel.NewLabel = @"Saved"; this.ViewModel.StarName = data.ItemName; this.ViewModel.IsItemSaveable = false; }
void IStarItemOutputPort.Created(StarItemDto data) { this.ViewModel.NewLabel = data.IsNew ? @"New Item" : ""; this.ViewModel.StarName = data.ItemName; this.ViewModel.IsItemSaveable = true; }
void IStarItemOutputPort.Created(StarItemDto data) { this.Created?.Invoke(this, data); }
void IStarItemOutputPort.Created(StarItemDto data) { this.Triggered = true; this.Data = data; }