コード例 #1
0
        public async Task TestC()
        {
            var mock = new MockDataV3();

            mock.Reset();

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

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

            var updateFlashcardProgressC = new UpdateFlashcardProgressC(Guid.Parse("9884d783-427d-45d4-a1df-facaf81729f5"), FlashcardProgress.Know, "9a4e1d79-d64e-4ec4-85e5-53bdef5043f4");

            var actionResponse = await mediator.Send(updateFlashcardProgressC);

            using (var db = MockDatabaseFactory.Build())
            {
                var flashcardProgressModel = await db.FlashcardProgresses.FirstOrDefaultAsync(e => e.Id == Guid.Parse("9884d783-427d-45d4-a1df-facaf81729f5"));

                Assert.Equal(1, flashcardProgressModel.CorrectInRow);
                Assert.Equal(DateTime.Now.Date.AddDays(1), flashcardProgressModel.PracticeDate);
            }
        }
コード例 #2
0
        public async Task <IActionResult> UpdateFlashcardProgress(Guid flashcardProgressId, FlashcardProgress flashcardProgress)
        {
            var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;

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

            var updateFlashcardProgressC = new UpdateFlashcardProgressC(flashcardProgressId, flashcardProgress, userId);

            var actionResult = await _mediator.Send(updateFlashcardProgressC);

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

            return(BadRequest());
        }