public async Task SampleLogic_GetSamplesForSession_Should_Only_Get_Samples_For_Given_Session() { // Arrange var sessionRepository = new Mock <IRepository <Session> >(); var sampleRepository = new Mock <IRepository <Sample> >(); var session1 = new Session { Id = Guid.NewGuid() }; var session2 = new Session { Id = Guid.NewGuid() }; var samples = new[] { session1, session2, session1 }.Select(session => new Fixture().Build <Sample>().With(x => x.Session, session).Create()).ToList(); sampleRepository.Setup(r => r.Find(Any.Predicate <Sample>())).ExecutesAsyncPredicateOn(samples); var getSamplesForSessionResponseMapper = new GetSamplesForSessionResponseMapper(); var logic = new SampleLogic(sessionRepository.Object, sampleRepository.Object, getSamplesForSessionResponseMapper, null, null); // Act var result = await logic.GetSamplesForSession(session2.Id); // Assert result.SessionId.Should().Be(session2.Id); result.Samples.Should().HaveCount(1); }
public void Mapping_From_A_List_Of_Sample_To_GetSamplesForSessionResponse_Should_Work() { // Arrange var mapper = new GetSamplesForSessionResponseMapper(); var session = new Session { Id = Guid.NewGuid() }; var samples = new Fixture().Build <Sample>() .With(x => x.Session, session) .CreateMany(3).ToList(); // Act var result = mapper.Map(samples); // Assert result.SessionId.Should().Be(Guid.Empty); result.Samples.Should().HaveCount(3); result.Samples.Should().BeEquivalentTo(samples, c => c.Excluding(x => x.SysId).Excluding(x => x.Session)); }