public async Task PostCourseCommandHandler_UpdateCourseAndChangeTheLanguage_CourseAndWordsUpdated() { var userGuid = Guid.NewGuid(); using var context = TestHelper.CreateInMemoryContext( "PostCourseCommandHandler_UpdateCourseAndChangeTheLanguage_CourseAndWordsUpdated"); SeedDatabase(userGuid, context); var oldCourse = await context.Courses.FirstAsync(); var handler = new PostCourseCommandHandler(new UnitOfWork(context)); var request = new PostCourseRequestModel { CourseId = oldCourse.Id.ToString(), Name = "new name", Description = "new description", UserId = userGuid.ToString(), LanguageName = "new language" }; var response = await handler.Handle(request, CancellationToken.None); (await context.Courses.CountAsync()).Should().Be(1); response.CourseId.Should().Be(oldCourse.Id); var updatedCourse = await context.Courses.FirstAsync(); updatedCourse.Name.Should().Be("new name"); updatedCourse.Description.Should().Be("new description"); var word = updatedCourse.Words.First(); word.HasAudioGenerated.Should().BeFalse(); }
public async Task <IActionResult> PostCourse([FromBody] PostCourseRequest request) { var requestModel = new PostCourseRequestModel { UserId = User.FindFirstValue(ClaimTypes.NameIdentifier), CourseId = request.CourseId, Description = request.Description, Name = request.Name, LanguageName = request.LanguageName }; var response = await _mediator.Send(requestModel); return(response.IsSucceed ? Ok(response.CourseId) : BadRequest(response.Error)); }
public async Task PostCourseCommandHandler_AddNewCourse_CourseAdded() { using var context = TestHelper.CreateInMemoryContext("PostCourseCommandHandler_AddNewCourse_CourseAdded"); context.Languages.Add(new Language { Name = "None", VoiceName = "None" }); context.SaveChanges(); var handler = new PostCourseCommandHandler(new UnitOfWork(context)); var request = new PostCourseRequestModel { Name = "name", Description = "desc", UserId = Guid.NewGuid().ToString(), LanguageName = "None" }; var response = await handler.Handle(request, CancellationToken.None); response.CourseId.Should().BeGreaterThan(0); (await context.Courses.CountAsync()).Should().Be(1); var addedCourse = await context.Courses.FirstAsync(); addedCourse.Id.Should().Be(response.CourseId); }