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(); } }