public void LogObjectCreated() { Guid memberId; DateTime checkpoint; checkpoint = GetCheckpoint(); using (var db = new KcsarContext(this.databaseLocation)) { Member m = new Member { FirstName = "NewUser" }; db.Members.Add(m); db.SaveChanges(); memberId = m.Id; } using (var db = new KcsarContext(this.databaseLocation)) { var member = db.Members.Single(f => f.Id == memberId); var logs = db.GetLog(checkpoint); Assert.AreEqual(1, logs.Length, "log entries"); Assert.AreEqual(member.GetReportHtml(), logs[0].Comment, "log msg: " + logs[0].Comment); Assert.AreEqual("Added", logs[0].Action, "action: " + logs[0].Action); } }
public void LogPropertyChanged() { Guid memberId; using (var db = new KcsarContext(this.databaseLocation)) { Member m = new Member { FirstName = "Log property", Gender = Gender.Female, BirthDate = new DateTime(2000, 12, 19) }; db.Members.Add(m); db.SaveChanges(); memberId = m.Id; } DateTime checkpoint = GetCheckpoint(); using (var db = new KcsarContext(this.databaseLocation)) { Member m = db.Members.Single(f => f.Id == memberId); m.FirstName = "Fixed"; m.BirthDate = new DateTime(1990, 3, 5); m.Gender = Gender.Male; db.SaveChanges(); var log = db.GetLog(checkpoint); Assert.AreEqual(1, log.Length, "log entries"); Console.WriteLine(log[0].Comment); Assert.IsTrue(log[0].Comment.Contains("FirstName: Log property => Fixed"), "log msg: " + log[0].Comment); Assert.IsTrue(log[0].Comment.Contains("Gender: Female => Male"), "log msg gender: " + log[0].Comment); Assert.IsTrue(log[0].Comment.Contains("BirthDate: 12/19/2000 => 3/5/1990"), "log msg date: " + log[0].Comment); Assert.AreEqual("Modified", log[0].Action, "action: " + log[0].Action); } }
public void LogObjectDeleted() { Guid memberId; string reportHtml; using (var db = new KcsarContext(this.databaseLocation)) { Member m = new Member { FirstName = "RemoveMe" }; db.Members.Add(m); db.SaveChanges(); memberId = m.Id; reportHtml = m.GetReportHtml(); } DateTime checkpoint = GetCheckpoint(); using (var db = new KcsarContext(this.databaseLocation)) { Member m = db.Members.Single(f => f.Id == memberId); db.Members.Remove(m); db.SaveChanges(); var log = db.GetLog(checkpoint); Assert.AreEqual(1, log.Length, "log entries"); Assert.AreEqual("Deleted", log[0].Action, "action: " + log[0].Action); Assert.AreEqual(reportHtml, log[0].Comment, "log msg: " + log[0].Comment); } }
public void LogPrincipalChanged() { Member first; Member second; PersonAddress address; using (var db = new KcsarContext(this.databaseLocation)) { first = new Member { FirstName = "First" }; db.Members.Add(first); second = new Member { FirstName = "Second" }; db.Members.Add(second); address = new PersonAddress { Person = first, Street = "123", City = "Any", State = "WA", Zip = "98765" }; first.Addresses.Add(address); db.SaveChanges(); } var checkpoint = GetCheckpoint(); using (var db = new KcsarContext(this.databaseLocation)) { address = db.Members.Where(f => f.Id == first.Id).SelectMany(f => f.Addresses).Single(); address.Person = db.Members.Single(f => f.Id == second.Id); db.SaveChanges(); } using (var db = new KcsarContext(this.databaseLocation)) { var logs = db.GetLog(checkpoint); Assert.AreEqual(1, logs.Length, "log count"); Assert.AreEqual(string.Format("{0}<br/>{1} => {2}", address, first, second), logs[0].Comment); Assert.AreEqual("Modified", logs[0].Action); } }