public void GivenNewPersonWhenAddAndSaveDocumentThenLinksDocumentToPerson() { InitializeViewModel(); _messageDialogServiceMock.Setup(t => t.OpenFileDialog()).Returns(@"C:\temp\myFile.txt"); _viewModel.AddDocumentCommand.Execute(null); // act var entity = _viewModel.AcceptChanges(); using (var session = _documentStoreFactory.CreateDocumentStore().OpenSession()) { session.Store(entity); session.SaveChanges(); } _viewModel.Id = entity.Id; _viewModel.SaveDocuments(); // assert Assert.AreEqual(_viewModel.Id, _viewModel.Documents.First().PersonId); using (var session = _documentStoreFactory.CreateDocumentStore().OpenSession()) { var documents = session.Query <Document>().Customize(t => t.WaitForNonStaleResults()).Where(t => t.PersonId == _viewModel.Id).ToList(); Assert.AreEqual(1, documents.Count); Assert.AreEqual(@"C:\temp\myFile.txt", documents.First().FileName); } }