public void build_a_storage_solution() { var graph = new ProviderGraph(new StoreOptions()); graph.StorageFor <User>() .ShouldBeSameAs(graph.StorageFor <User>()); }
public void only_calls_ensure_storage_exists_on_first_call() { var options = new StoreOptions(); var inner = new ProviderGraph(options); var storage = Substitute.For <IMartenDatabase>(); var graph = new StorageCheckingProviderGraph(storage, inner); var userPersistence = graph.StorageFor <User>(); var userPersistence2 = graph.StorageFor <User>(); var userPersistence3 = graph.StorageFor <User>(); storage.Received(1).EnsureStorageExists(typeof(User)); userPersistence.ShouldBeSameAs(userPersistence2); userPersistence.ShouldBeSameAs(userPersistence3); }
public void build_a_persistence_storage_solution_for_subclass() { var options = new StoreOptions(); options.Storage.MappingFor(typeof(User)).SubClasses.Add(typeof(AdminUser)); var graph = new ProviderGraph(options); var persistence = graph.StorageFor <AdminUser>(); persistence .ShouldBeSameAs(graph.StorageFor <AdminUser>()); persistence.Lightweight.ShouldBeOfType <SubClassDocumentStorage <AdminUser, User, Guid> >(); persistence.QueryOnly.ShouldBeOfType <SubClassDocumentStorage <AdminUser, User, Guid> >(); persistence.IdentityMap.ShouldBeOfType <SubClassDocumentStorage <AdminUser, User, Guid> >(); persistence.DirtyTracking.ShouldBeOfType <SubClassDocumentStorage <AdminUser, User, Guid> >(); persistence.BulkLoader.ShouldBeOfType <SubClassBulkLoader <AdminUser, User> >(); }