public void Should_Set_LastModifierId_If_Entity_Tenant_Is_Same_With_Current_User_Tenant()
        {
            CurrentUserId = Guid.NewGuid();

            AuditPropertySetter.SetModificationProperties(TargetObject);

            TargetObject.LastModificationTime.Value.Subtract(Now).TotalSeconds.ShouldBeLessThanOrEqualTo(TimeSubtractSeconds);
            TargetObject.LastModifierId.ShouldBe(CurrentUserId);
        }
        public void Should_Clear_LastModifierId_If_Current_User_Is_Not_Available()
        {
            TargetObject.LastModifierId = Guid.NewGuid();

            AuditPropertySetter.SetModificationProperties(TargetObject);

            TargetObject.LastModificationTime.Value.Subtract(Now).TotalSeconds.ShouldBeLessThanOrEqualTo(TimeSubtractSeconds);
            TargetObject.LastModifierId.ShouldBe(null);
        }
        public void Should_Set_LastModifierId_Again_Even_If_It_Is_Set_Before()
        {
            CurrentUserId = Guid.NewGuid();
            TargetObject.LastModifierId = Guid.NewGuid();

            AuditPropertySetter.SetModificationProperties(TargetObject);

            TargetObject.LastModificationTime.Value.Subtract(Now).TotalSeconds.ShouldBeLessThanOrEqualTo(TimeSubtractSeconds);
            TargetObject.LastModifierId.ShouldBe(CurrentUserId);
        }
        public void Should_Set_LastModificationTime()
        {
            AuditPropertySetter.SetModificationProperties(TargetObject);

            TargetObject.LastModificationTime.Value.Subtract(Now).TotalSeconds.ShouldBeLessThanOrEqualTo(TimeSubtractSeconds);
        }
 public void Should_Do_Nothing_For_Non_Audited_Entity()
 {
     AuditPropertySetter.SetModificationProperties(new MyEmptyObject());
 }