Ejemplo n.º 1
0
        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);
            }
        }