public async Task DeleteStudentForms() { var examId = RandomGen.Next(); var userId = RandomGen.Next(); var studentId = RandomGen.Next(); using (var testServer = Create(userId)) { var forms = GenerateStudentForms(examId, userId, studentId); var client = testServer.CreateClient(); var response = await client.PostAsync(ApiPath, forms.ToJsonContent()); response.EnsureSuccessStatusCode(); var studentOpticalForms = await GetListAsync <StudentOpticalForm>(client, examId); studentOpticalForms.Should() .HaveCount(1) .And .Contain(s => s.StudentId == studentId); var repository = testServer.Host.Services.GetService(typeof(IOpticalFormRepository)); var consumer = new StudentDeletedConsumer(repository as IOpticalFormRepository, null); var context = Substitute.For <ConsumeContext <IStudentDeleted> >(); context.Message.StudentId.Returns(studentId); await consumer.Consume(context); studentOpticalForms = await GetListAsync <StudentOpticalForm>(client, examId); studentOpticalForms.Should().BeEmpty(); } }
public async Task DeleteStudentForms(IFixture fixture, int userId, int examId, int studentId) { var forms = GenerateStudentForms(fixture, examId, userId, studentId); var client = _webApplicationFactory.CreateClientWithUserId(userId); var response = await client.PostAsync(ApiPath, forms.ToJsonContent()); response.EnsureSuccessStatusCode(); var studentOpticalForms = await GetListAsync <StudentOpticalForm>(client, examId); studentOpticalForms.Should() .HaveCount(1) .And .Contain(s => s.StudentId == studentId); var repository = _webApplicationFactory.Services.GetRequiredService <IStudentOpticalFormRepository>(); var consumer = new StudentDeletedConsumer(repository, null); var context = Substitute.For <ConsumeContext <IStudentDeleted> >(); context.Message.StudentId.Returns(studentId); await consumer.Consume(context); studentOpticalForms = await GetListAsync <StudentOpticalForm>(client, examId); studentOpticalForms.Should().BeEmpty(); }