Exemplo n.º 1
0
        public static Models.Dragon HatchDragon(string name, DateTime current, DragonAgeingOptions ageingOptions = null)
        {
            var ageOptions = ageingOptions ?? new DragonAgeingOptions(30, 60, 90, 120);

            var mockTime = new Mock <ITimeService>();

            mockTime.Setup(x => x.GetCurrentTime()).Returns(current);
            var mockElapsed = new Mock <IElapsedService>();

            var lifecycleService = new LifecycleService(mockElapsed.Object, mockTime.Object);

            // Hatch the Dragon
            return(lifecycleService.Hatch(name, ageOptions));
        }
Exemplo n.º 2
0
        public async void Get_null_record()
        {
            var mock = new ServiceMockFacade <ILifecycleRepository>();

            mock.RepositoryMock.Setup(x => x.Get(It.IsAny <string>())).Returns(Task.FromResult <Lifecycle>(null));
            var service = new LifecycleService(mock.LoggerMock.Object,
                                               mock.RepositoryMock.Object,
                                               mock.ModelValidatorMockFactory.LifecycleModelValidatorMock.Object,
                                               mock.BOLMapperMockFactory.BOLLifecycleMapperMock,
                                               mock.DALMapperMockFactory.DALLifecycleMapperMock);

            ApiLifecycleResponseModel response = await service.Get(default(string));

            response.Should().BeNull();
            mock.RepositoryMock.Verify(x => x.Get(It.IsAny <string>()));
        }
Exemplo n.º 3
0
        public async void ByDataVersion_Not_Exists()
        {
            var mock = new ServiceMockFacade <ILifecycleRepository>();

            mock.RepositoryMock.Setup(x => x.ByDataVersion(It.IsAny <byte[]>())).Returns(Task.FromResult <List <Lifecycle> >(new List <Lifecycle>()));
            var service = new LifecycleService(mock.LoggerMock.Object,
                                               mock.RepositoryMock.Object,
                                               mock.ModelValidatorMockFactory.LifecycleModelValidatorMock.Object,
                                               mock.BOLMapperMockFactory.BOLLifecycleMapperMock,
                                               mock.DALMapperMockFactory.DALLifecycleMapperMock);

            List <ApiLifecycleResponseModel> response = await service.ByDataVersion(default(byte[]));

            response.Should().BeEmpty();
            mock.RepositoryMock.Verify(x => x.ByDataVersion(It.IsAny <byte[]>()));
        }
Exemplo n.º 4
0
        public async void Create()
        {
            var mock  = new ServiceMockFacade <ILifecycleRepository>();
            var model = new ApiLifecycleRequestModel();

            mock.RepositoryMock.Setup(x => x.Create(It.IsAny <Lifecycle>())).Returns(Task.FromResult(new Lifecycle()));
            var service = new LifecycleService(mock.LoggerMock.Object,
                                               mock.RepositoryMock.Object,
                                               mock.ModelValidatorMockFactory.LifecycleModelValidatorMock.Object,
                                               mock.BOLMapperMockFactory.BOLLifecycleMapperMock,
                                               mock.DALMapperMockFactory.DALLifecycleMapperMock);

            CreateResponse <ApiLifecycleResponseModel> response = await service.Create(model);

            response.Should().NotBeNull();
            mock.ModelValidatorMockFactory.LifecycleModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiLifecycleRequestModel>()));
            mock.RepositoryMock.Verify(x => x.Create(It.IsAny <Lifecycle>()));
        }
Exemplo n.º 5
0
        public async void All()
        {
            var mock    = new ServiceMockFacade <ILifecycleRepository>();
            var records = new List <Lifecycle>();

            records.Add(new Lifecycle());
            mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records));
            var service = new LifecycleService(mock.LoggerMock.Object,
                                               mock.RepositoryMock.Object,
                                               mock.ModelValidatorMockFactory.LifecycleModelValidatorMock.Object,
                                               mock.BOLMapperMockFactory.BOLLifecycleMapperMock,
                                               mock.DALMapperMockFactory.DALLifecycleMapperMock);

            List <ApiLifecycleResponseModel> response = await service.All();

            response.Should().HaveCount(1);
            mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
Exemplo n.º 6
0
        public async void Delete()
        {
            var mock  = new ServiceMockFacade <ILifecycleRepository>();
            var model = new ApiLifecycleRequestModel();

            mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <string>())).Returns(Task.CompletedTask);
            var service = new LifecycleService(mock.LoggerMock.Object,
                                               mock.RepositoryMock.Object,
                                               mock.ModelValidatorMockFactory.LifecycleModelValidatorMock.Object,
                                               mock.BOLMapperMockFactory.BOLLifecycleMapperMock,
                                               mock.DALMapperMockFactory.DALLifecycleMapperMock);

            ActionResponse response = await service.Delete(default(string));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <string>()));
            mock.ModelValidatorMockFactory.LifecycleModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <string>()));
        }
Exemplo n.º 7
0
        public void DragonAgesCorrectly()
        {
            const string name        = "Logan";
            var          current     = DateTime.Now;
            var          compareWith = current.AddSeconds(_elapsedTime);

            var myDragon = Common.HatchDragon(name, current, new DragonAgeingOptions(_childAfter, _teenAfter, _adultAfter, _deadAfter));

            var mockTime = new Mock <ITimeService>();

            mockTime.Setup(x => x.GetCurrentTime()).Returns(compareWith);
            var elapsedService = new ElapsedService(mockTime.Object);

            var lifecycleService = new LifecycleService(elapsedService, mockTime.Object);

            myDragon = lifecycleService.Age(myDragon);

            myDragon.LifeStage.Should().Be(_expectedStage);
        }