public async Task TestA()
        {
            var mocker = new MockDataV2();

            mocker.Reset();

            var serviceProvider = new ServiceCollection()
                                  .AddTransient <ICollectionRepo, CollectionRepo>()
                                  .AddDbContext <AppDbContext>(options => options.UseSqlServer(MockDatabaseFactory.DbMockConnectionString))
                                  .AddMediatR(typeof(MediatREntryPoint).Assembly)
                                  .BuildServiceProvider();

            var service = serviceProvider.GetService <IMediator>();

            var request = new DeleteCollectionC(Guid.Parse("d30c8f79-291b-4532-8f22-b693e61d6bb5"), "9a4e1d79-d64e-4ec4-85e5-53bdef5043f4");

            var actionResponse = await service.Send(request);

            Assert.True(actionResponse.IsSucceed);

            using (var db = MockDatabaseFactory.Build())
            {
                Assert.Equal(5, await db.Collections.CountAsync());
            }
        }
        public async Task TestB_UserNotOwnCollection()
        {
            var mocker = new MockDataV2();

            mocker.Reset();

            var serviceProvider = new ServiceCollection()
                                  .AddTransient <ICollectionRepo, CollectionRepo>()
                                  .AddDbContext <AppDbContext>(options => options.UseSqlServer(MockDatabaseFactory.DbMockConnectionString))
                                  .AddMediatR(typeof(MediatREntryPoint).Assembly)
                                  .BuildServiceProvider();

            var service = serviceProvider.GetService <IMediator>();

            var request = new DeleteCollectionC(Guid.Parse("82c3a0d1-a73c-41e2-a8f3-ef525e5f0ffa"), "9a4e1d79-d64e-4ec4-85e5-53bdef5043f4");

            var actionResponse = await service.Send(request);

            Assert.False(actionResponse.IsSucceed);

            using (var db = MockDatabaseFactory.Build())
            {
                Assert.Equal(6, await db.Collections.CountAsync());
            }
        }
Exemple #3
0
        public async Task <IActionResult> Delete(Guid collectionId)
        {
            var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;

            if (String.IsNullOrEmpty(userId))
            {
                return(NotFound());
            }

            var command = new DeleteCollectionC(collectionId, userId);

            var actionResult = await _mediator.Send(command);

            if (actionResult.IsSucceed == true)
            {
                return(Ok());
            }

            return(BadRequest(actionResult.Message));
        }