public CustomerNavigationViewModelTests() { var eventAggregatorMock = new Mock <IEventAggregator>(); _eventAfterSavedCustomer = new EventAfterDetailSaved(); _eventAfterDeletedCustomer = new EventAfterDetailDeleted(); _eventAfterDetailCloseMock = new Mock <EventAfterDetailClose>(); _eventOpenNavigationOrDetailViewModelMock = new Mock <EventOpenNavigationOrDetailViewModel>(); eventAggregatorMock.Setup(ea => ea.GetEvent <EventAfterDetailSaved>()).Returns(_eventAfterSavedCustomer); eventAggregatorMock.Setup(ea => ea.GetEvent <EventAfterDetailDeleted>()).Returns(_eventAfterDeletedCustomer); eventAggregatorMock.Setup(ea => ea.GetEvent <EventAfterDetailClose>()).Returns(_eventAfterDetailCloseMock.Object); eventAggregatorMock.Setup(ea => ea.GetEvent <EventOpenNavigationOrDetailViewModel>()).Returns(_eventOpenNavigationOrDetailViewModelMock.Object); _customerLookupDataServiceMock = new Mock <IGenericLookupDataService <Customer> >(); _lookupItemList = new List <LookupItem> { new LookupItem { Id = 1, DisplayMember = "Julia" }, new LookupItem { Id = 2, DisplayMember = "Thomas" } }; _customerLookupDataServiceMock.Setup(dp => dp.GetEntityLookupAsync()).ReturnsAsync(_lookupItemList); _customerNavigationViewModel = new CustomerNavigationViewModel(eventAggregatorMock.Object, _customerLookupDataServiceMock.Object); }
public async void EventAfterDetailSaved_When_Called_From_AccountManagerDetailViewModel_Should_Update_ListAccountManager() { //Arrange var anyInTheMockDefinedCustomerId = 2; var eventAfterDetailSaved = new EventAfterDetailSaved(); _eventAggregatorMock.Setup(ea => ea.GetEvent <EventAfterDetailSaved>()).Returns(eventAfterDetailSaved); _customerDetailViewModel = new CustomerDetailViewModel(_customerRepositoryMock.Object, _eventAggregatorMock.Object, _messageDialogServiceMock.Object, _accountManagerLookupDataServiceMock.Object); await _customerDetailViewModel.LoadAsync(anyInTheMockDefinedCustomerId); //Mockup list contains 3 entries + 1 NullLookupItem = 4 items: Assert.Equal(4, _customerDetailViewModel.LookupItemsAccountManager.Count()); //Act //Change Mockup list to contain 4 entries isntead of 3 before: _lookupItemAccountManagerList = new List <LookupItem> { new LookupItem { Id = 1, DisplayMember = "Carl Manager" }, new LookupItem { Id = 2, DisplayMember = "Fritz Manager" }, new LookupItem { Id = 3, DisplayMember = "Fred Manager" }, new LookupItem { Id = 4, DisplayMember = "Any OtherManager" } }; var expectedNumberOfAccountManagersAfterAct = _lookupItemAccountManagerList.Count() + 1; // e Entries + 1 NullLookupItem _accountManagerLookupDataServiceMock.Setup(dp => dp.GetEntityLookupAsync()).ReturnsAsync(_lookupItemAccountManagerList); //Simulate an EventafterDetailSaved from an AccountManagerDetailViewModel: eventAfterDetailSaved.Publish(new EventAfterDetailSavedArgs { Id = 4, ViewModelName = nameof(AccountManagerDetailViewModel) }); //Assert //ListLookupAccountManager should become 5 = 4 entries + 1 NullLookupItem Assert.Equal(expectedNumberOfAccountManagersAfterAct, _customerDetailViewModel.LookupItemsAccountManager.Count()); }