public void Will_automatically_craete_duplicate_on_next_insert()
{
var company = new Company {Name = "Company Name"};
using (var session = documentStore.OpenSession())
{
session.Store(company);
session.SaveChanges();
Assert.Equal(1, session.Advanced.GetMetadataFor(company).Value<int>("Raven-Document-Revision"));
}
using (var session = documentStore.OpenSession())
{
var company3 = session.Load<Company>(company.Id);
company3.Name = "Hibernating Rhinos";
session.SaveChanges();
Assert.Equal(2, session.Advanced.GetMetadataFor(company3).Value<int>("Raven-Document-Revision"));
}
using (var session = documentStore.OpenSession())
{
var company2 = session.Load<Company>(company.Id + "/revisions/1");
var metadata = session.Advanced.GetMetadataFor(company2);
Assert.Equal("Company Name", company2.Name);
Assert.Equal("Historical", metadata.Value<string>("Raven-Document-Revision-Status"));
Assert.Null(metadata.Value<string>("Raven-Document-Parent-Revision"));
company2 = session.Load<Company>(company.Id + "/revisions/2");
metadata = session.Advanced.GetMetadataFor(company2);
Assert.Equal("Hibernating Rhinos", company2.Name);
Assert.Equal("Historical", metadata.Value<string>("Raven-Document-Revision-Status"));
Assert.Equal("companies/1/revisions/1", metadata.Value<string>("Raven-Document-Parent-Revision"));
}
}