コード例 #1
0
        public void ShouldNotAddMetadata_WhenValueIsNull()
        {
            var options = new DbContextOptionsBuilder <TestTrackerContext>()
                          .UseSqlServer(TestConnectionString)
                          .Options;

            using (TestTrackerContext ttc = new TestTrackerContext(options))
            {
                ttc.ConfigureMetadata(m =>
                {
                    m.IpAddress = "192.168.2.23";
                    m.Country   = null;
                    m.Device    = string.Empty;
                });

                EntityTracker.TrackAllProperties <POCO>();
                POCO entity = new POCO();

                ttc.POCOes.Add(entity);
                ttc.SaveChanges();

                entity.AssertAuditForAddition(ttc, entity.Id, null,
                                              x => x.Color, x => x.Height, x => x.StartTime, x => x.Id);

                entity.AssertMetadata(ttc, entity.Id, new Dictionary <string, string>
                {
                    ["IpAddress"] = "192.168.2.23",
                    ["Device"]    = string.Empty
                });
            }
        }
コード例 #2
0
        public async Task ShouldAddSingleMetadata_WhenSingleMetadataIsProvided_Async()
        {
            var options = new DbContextOptionsBuilder <TestTrackerContext>()
                          .UseSqlServer(TestConnectionString)
                          .Options;

            using (TestTrackerContext ttc = new TestTrackerContext(options))
            {
                ttc.ConfigureMetadata(m =>
                {
                    m.IpAddress = "192.168.2.23";
                });

                EntityTracker.TrackAllProperties <POCO>();
                POCO entity = new POCO();

                ttc.POCOes.Add(entity);
                await ttc.SaveChangesAsync("bilal");

                entity.AssertAuditForAddition(ttc, entity.Id, "bilal",
                                              x => x.Color, x => x.Height, x => x.StartTime, x => x.Id);

                entity.AssertMetadata(ttc, entity.Id, new Dictionary <string, string>
                {
                    ["IpAddress"] = "192.168.2.23"
                });
            }
        }
コード例 #3
0
        public void Can_recognise_global_tracking_indicator_when_enabled()
        {
            var options = new DbContextOptionsBuilder <TestTrackerContext>()
                          .UseSqlServer(TestConnectionString)
                          .Options;

            EntityTracker
            .TrackAllProperties <POCO>();

            POCO model = new POCO
            {
                Color     = "Red",
                Height    = 67.4,
                StartTime = new DateTime(2015, 5, 5)
            };

            using (TestTrackerContext ttc = new TestTrackerContext(options))
            {
                ttc.POCOes.Add(model);
                ttc.SaveChanges();

                model.AssertAuditForAddition(ttc, model.Id, null,
                                             x => x.Color,
                                             x => x.Id,
                                             x => x.Height,
                                             x => x.StartTime);
            }
        }
        public void Can_recognise_global_tracking_indicator_when_enabled()
        {
            EntityTracker.TrackAllProperties <POCO>();

            POCO model = new POCO
            {
                Color     = "Red",
                Height    = 67.4,
                StartTime = new DateTime(2015, 5, 5)
            };

            db.POCOs.Add(model);
            db.SaveChanges();

            model.AssertAuditForAddition(db, model.Id, null,
                                         x => x.Color,
                                         x => x.Id,
                                         x => x.Height,
                                         x => x.StartTime);
        }
コード例 #5
0
        public async Task ShouldAddSingleMetadata_WhenSingleMetadataIsProvided_Async()
        {
            Db.ConfigureMetadata(m =>
            {
                m.IpAddress = "192.168.2.23";
            });

            EntityTracker.TrackAllProperties <POCO>();
            POCO entity = ObjectFactory.Create <POCO>();

            Db.POCOs.Add(entity);
            await Db.SaveChangesAsync("bilal");

            entity.AssertAuditForAddition(Db, entity.Id, "bilal",
                                          x => x.Color, x => x.Height, x => x.StartTime, x => x.Id);

            entity.AssertMetadata(Db, entity.Id, new Dictionary <string, string>
            {
                ["IpAddress"] = "192.168.2.23"
            });
        }
コード例 #6
0
        public void ShouldNotAddMetadata_WhenValueIsNull()
        {
            Db.ConfigureMetadata(m =>
            {
                m.IpAddress = "192.168.2.23";
                m.Country   = null;
                m.Device    = string.Empty;
            });

            EntityTracker.TrackAllProperties <POCO>();
            POCO entity = ObjectFactory.Create <POCO>();

            Db.POCOs.Add(entity);
            Db.SaveChanges();

            entity.AssertAuditForAddition(Db, entity.Id, null,
                                          x => x.Color, x => x.Height, x => x.StartTime, x => x.Id);

            entity.AssertMetadata(Db, entity.Id, new Dictionary <string, string>
            {
                ["IpAddress"] = "192.168.2.23",
                ["Device"]    = string.Empty
            });
        }