Exemple #1
0
        public async Task should_throw_ArgumentNullException_when_query_null()
        {
            var mockDbContext = new Mock <IDbContext>();

            var sut = new FindServiceHandler(mockDbContext.Object);
            await Assert.ThrowsAsync <ArgumentNullException>(() => sut.Handle(null));
        }
Exemple #2
0
        public async Task should_not_return_null_when_service_has_no_active_endpoints()
        {
            var service = new Mongo.Infrastructure.Entities.Service()
            {
                Id        = Guid.NewGuid(),
                Name      = "lorem",
                Endpoints = new[]
                {
                    new Mongo.Infrastructure.Entities.ServiceEndpoint()
                    {
                        Id      = Guid.NewGuid(),
                        Active  = false,
                        Address = "localhost"
                    }
                }
            };
            var mockRepo = RepositoryUtils.MockRepository(service);

            var mockDbContext = new Mock <IDbContext>();

            mockDbContext.Setup(db => db.Services).Returns(mockRepo.Object);

            var query = new FindService(service.Id);

            var sut    = new FindServiceHandler(mockDbContext.Object);
            var result = await sut.Handle(query);

            result.Should().NotBeNull();
            result.Name.ShouldBeEquivalentTo(service.Name);
            result.Endpoints.Should().NotBeNullOrEmpty();
        }
Exemple #3
0
        public async Task should_return_null_when_service_not_existing()
        {
            var mockRepo = RepositoryUtils.MockRepository <Mongo.Infrastructure.Entities.Service>();

            var mockDbContext = new Mock <IDbContext>();

            mockDbContext.Setup(db => db.Services).Returns(mockRepo.Object);

            var query = new FindService(Guid.NewGuid());

            var sut    = new FindServiceHandler(mockDbContext.Object);
            var result = await sut.Handle(query);

            result.Should().BeNull();
        }