Beispiel #1
0
        public async Task IF_not_Active_SHOULD_fail(EntityState invalidState)
        {
            //Arrange
            ExistingEntityBuilder.With(x => x.EntityState, invalidState);

            //Act
            var result = await Sut.HandleAsync(Command, AdminUser);

            //Assert
            result.VerifyResponseError(DomainErrors.InvalidEntityState(invalidState), MockAnalyticsService);
        }
        public async Task IF_not_Draft_or_Archived_SHOULD_fail(EntityState invalidState)
        {
            //Arrange
            ExistingEntityBuilder.With(x => x.EntityState, invalidState);

            //Act
            var result = await Sut.HandleAsync(Command, AdminUser);

            //Assert
            result.VerifyResponseError(DomainErrors.InvalidEntityState(invalidState), MockAnalyticsService);
            Assert.That(DbContextAfter.Set <TEntity>().First(x => x.Id == GrainId).EntityState, Is.Not.EqualTo(EntityState.Draft));
        }
        public static Response TryActivate(this BaseServerEntity entity, DateTime now)
        {
            switch (entity.EntityState)
            {
            case EntityState.Active:
                return(Response.Success());

            case EntityState.Deleted:
                return(Response.Failure(DomainErrors.InvalidEntityState(entity.EntityState)));

            case EntityState.Draft:
            case EntityState.Archived:
                entity.Activate(now);
                return(Response.Success());

            default:
                throw new ArgumentOutOfRangeException();
            }
        }