Exemple #1
0
        public async Task Execute_Should_DeleteEntityStatus()
        {
            // arrange
            var cancellationToken = CancellationToken.None;
            var dbContextFactory  = new DefaultDbContextFactory();
            var unitOfWorkFactory = new TransactionScopeUnitOfWorkFactory();
            var generator         = new CoreDbGenerator(unitOfWorkFactory, dbContextFactory);
            var handler           = new DeleteEntityStatusHandler(unitOfWorkFactory, dbContextFactory);

            using (var _ = unitOfWorkFactory.Create())
            {
                // arrange
                var uids = new List <Guid>();
                for (var i = 0; i < 42; i++)
                {
                    var insertResult = await generator.InsertEntityStatus(new EntityStatus
                    {
                        Uid  = Guid.NewGuid(),
                        Code = "status_code_" + i,
                        Name = "Status Name " + i
                    }, cancellationToken);

                    // ReSharper disable once PossibleInvalidOperationException
                    uids.Add(insertResult.Uid.Value);
                }

                // act
                var request = new DeleteEntityStatus
                {
                    EntityTypeCode = generator.EntityTypeCode,
                    EntityUid      = generator.EntityUid,
                    Uids           = uids.Take(3).ToList()
                };

                var result = await handler.Handle(request, cancellationToken);

                // assert
                Assert.IsNotNull(result);
                Assert.AreEqual(3, result.AffectedRows);

                var statuses = await generator.GetEntityStatuses(cancellationToken);

                Assert.AreEqual(39, statuses.Rows.Count);

                foreach (var uid in request.Uids)
                {
                    Assert.IsNull(statuses.Rows.FirstOrDefault(x => x.Uid == uid));
                }
            }
        }
Exemple #2
0
 public async Task <ApiResult> Delete(DeleteEntityStatus request)
 {
     return(await _mediator.Send(request));
 }