From dd77a32f76c600b549cc6a788b4521c77a928793 Mon Sep 17 00:00:00 2001 From: Ayende Rahien Date: Tue, 1 Nov 2011 08:52:11 -0400 Subject: [PATCH] Adding passing test --- .../transformedresults_customid_test.cs | 66 +++++++++++++++++++ Raven.Tests/Raven.Tests.csproj | 1 + 2 files changed, 67 insertions(+) create mode 100644 Raven.Tests/MailingList/transformedresults_customid_test.cs diff --git a/Raven.Tests/MailingList/transformedresults_customid_test.cs b/Raven.Tests/MailingList/transformedresults_customid_test.cs new file mode 100644 index 000000000000..2919ef2a71d9 --- /dev/null +++ b/Raven.Tests/MailingList/transformedresults_customid_test.cs @@ -0,0 +1,66 @@ +using System.Collections.Generic; +using System.Linq; +using Raven.Client.Document; +using Raven.Client.Indexes; +using Xunit; + +namespace Raven.Tests.MailingList +{ + public class transformedresults_customid_test : RavenTest + { + public class TestItem + { + public string DocId { get; set; } + public string Name { get; set; } + public string City { get; set; } + } + + public class TestResultItem + { + public string DocId { get; set; } + public string Name { get; set; } + } + + + [Fact] + public void Can_project_InternalId_from_transformResults() + { + using(GetNewServer()) + using (var store = new DocumentStore { Url = "http://localhost:8080" }) + { + store.Initialize(); + store.Conventions.FindIdentityProperty = (x => x.Name == "DocId"); + store.DatabaseCommands.PutIndex("TestItemsIndex", new IndexDefinitionBuilder + { + Map = items => from item in items select new { DocId = item.DocId, Name = item.Name, City = item.City }, + TransformResults = (db, results) => from item in results + select new { DocId = item.DocId, Name = item.Name }, + }, true); + + using (var session = store.OpenSession()) + { + session.Store(new TestItem() + { + DocId = "testitems/500", + Name = "My first item", + City = "New york" + }); + session.Store(new TestItem() + { + DocId = "testitems/501", + Name = "My second item", + City = "London" + }); + session.SaveChanges(); + + TestResultItem item = session + .Advanced.LuceneQuery("TestItemsIndex") + .WaitForNonStaleResults() + .ToList().First(); + + Assert.NotNull(item.DocId); + } + } + } + } +} \ No newline at end of file diff --git a/Raven.Tests/Raven.Tests.csproj b/Raven.Tests/Raven.Tests.csproj index 826d1dff51cc..7e8edef0bcb2 100644 --- a/Raven.Tests/Raven.Tests.csproj +++ b/Raven.Tests/Raven.Tests.csproj @@ -556,6 +556,7 @@ + Code