public async Task Handle_GivenInvalidConversationId_ThrowKeyNotFoundException() { using (var database = await LocalDb()) { var testUsers = new Faker <User> () .RuleFor(u => u.SubjectId, f => Guid.NewGuid()) .RuleFor(u => u.FirstName, f => f.Name.FirstName()) .RuleFor(u => u.LastName, f => f.Name.LastName()) .RuleFor(u => u.Issuer, f => f.Random.String2(15)) .Generate(2); var testConversations = new Faker <Conversation> () .RuleFor(c => c.ConversationId, f => Guid.NewGuid()) .RuleFor(c => c.Customer, f => testUsers[0]) .Generate(2); await database.AddData(testConversations); var handler = new GetConversationByIdHandler(database.Context); await Assert.ThrowsAsync <KeyNotFoundException> (async() => await handler.Handle(new GetConversationByIdRequest(Guid.NewGuid()), CancellationToken.None)); } }
public async Task Handle_GivenTwoConversations_SelectsJustTheOne() { Randomizer.Seed = new Random(54698335); using (var database = await LocalDb()) { var testUser = new Faker <User> () .RuleFor(u => u.SubjectId, f => Guid.NewGuid()) .RuleFor(u => u.FirstName, f => f.Name.FirstName()) .RuleFor(u => u.LastName, f => f.Name.LastName()) .RuleFor(u => u.Issuer, f => f.Random.String2(15)) .Generate(); var testConversations = new Faker <Conversation> () .RuleFor(u => u.ConversationId, f => Guid.NewGuid()) .RuleFor(c => c.Customer, f => testUser) .Generate(2); await database.AddData(testConversations); var handler = new GetConversationByIdHandler(database.Context); var response = await handler.Handle(new GetConversationByIdRequest (testConversations[1].ConversationId), CancellationToken.None); response.Customer.FirstName.Should().Be(testUser.FirstName); } }