Пример #1
0
        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);
        }
Пример #2
0
        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));
        }