public void UpdateSingleEntity_StateIsModified()
        {
            CouchDBContextImpl subject;
            UserModel          userToUpdate;

            UpdateSingleDocument(out subject, out userToUpdate);

            subject.Update(userToUpdate);
            CouchDocInfo docInfo = subject.DocumentManager.DocInfo("1");

            Assert.AreEqual(DocumentState.Modified, docInfo.State);
        }
        public void UpdateSingleEntityAndSaveChanges_RevisionUpdates()
        {
            CouchDBContextImpl subject;
            UserModel          userToUpdate;

            UpdateSingleDocument(out subject, out userToUpdate);

            subject.Update(userToUpdate);
            subject.SaveChanges();

            CouchDocInfo docInfo = subject.DocumentManager.DocInfo("1");

            Assert.AreEqual("2-123-Updated", docInfo.Rev);
        }
        public void UpdateSingleEntityAndSaveChanges_StateIsClear()
        {
            CouchDBContextImpl subject;
            UserModel          userToUpdate;

            UpdateSingleDocument(out subject, out userToUpdate);

            subject.Update(userToUpdate);
            subject.SaveChanges();

            CouchDocInfo docInfo = subject.DocumentManager.DocInfo("1");

            Assert.AreEqual(DocumentState.Clean, docInfo.State);
        }
        private static CouchDocInfo GetCleanDocInfo()
        {
            string             rawResponse       = @"
{
total_rows: 123,
offset: 40,
rows: [
{
  id: ""1"",
  key: ""ido.ran"",
  value: null,
  doc: {
    _id: ""1"",
    _rev: ""1-1edc9b67751f21e58895635c4eb47456"",
    email: ""*****@*****.**"",
    password: ""AAABBBCCC"",
    passwordSalt: ""123123123"",
    roles: [
      ""Admin""
    ],
    tenants: [
      ""20130722094352-TenantA""
    ],
    username: ""ido.ran"",
    $type: ""user""
  }
}
]
}";
            var                couchDBClientMock = new CouchDBClientAdapterMock(rawResponse);
            CouchDBContextImpl subject           = ContextTestHelper.BuildContextForTest(couchDBClientMock);
            UserModel          userToUpdate      = subject.View <UserModel>("fake_not_used").SingleOrDefault();

            CouchDocInfo docInfo = subject.DocumentManager.DocInfo("1");

            return(docInfo);
        }
        public void DocumentInfoOfCleanDocument_IsClean()
        {
            CouchDocInfo docInfo = GetCleanDocInfo();

            Assert.AreEqual(DocumentState.Clean, docInfo.State);
        }
        public void DocumentManagerSaveDocumentRevisionOfCleanDocument()
        {
            CouchDocInfo docInfo = GetCleanDocInfo();

            Assert.AreEqual("1-1edc9b67751f21e58895635c4eb47456", docInfo.Rev);
        }