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)); }
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>())); }
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[]>())); }
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>())); }
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>())); }
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>())); }
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); }