public void GetById_Integration_ReturnsData() { string filePath = Path.Combine(AppContext.BaseDirectory, Path.GetRandomFileName() + ".dbtest"); using (SQLiteDbContext dbContext = new SQLiteDbContext(filePath)) { dbContext.Initialise(); dbContext.BeginTransaction(); IProjectRequestAggregateRepository projectRequestAggregateRepo = new ProjectRequestAggregateRepository(dbContext); ICreateProjectCommand createProjectCommand = new CreateProjectCommand(dbContext, new ProjectValidator()); ISetLogFileUnprocessedCommand setLogFileUnprocessedCommand = Substitute.For <ISetLogFileUnprocessedCommand>(); ICreateProjectRequestAggregateCommand createProjectRequestAggregateCommand = new CreateProjectRequestAggregateCommand(dbContext, new ProjectRequestAggregateValidator(), new LogFileRepository(dbContext), setLogFileUnprocessedCommand); IDeleteProjectRequestAggregateCommand deleteProjectRequestAggregateCommand = new DeleteProjectRequestAggregateCommand(dbContext, projectRequestAggregateRepo, new LogFileRepository(dbContext), setLogFileUnprocessedCommand); // create the project ProjectModel projectA = DataHelper.CreateProjectModel(); createProjectCommand.Execute(projectA); // create the request aggregate record for ProjectA ProjectRequestAggregateModel projectRequestAggregate = DataHelper.CreateProjectRequestAggregateModel(); projectRequestAggregate.ProjectId = projectA.Id; createProjectRequestAggregateCommand.Execute(projectRequestAggregate); int id = projectRequestAggregate.Id; Assert.Greater(id, 0); // fetch the record ProjectRequestAggregateModel result = projectRequestAggregateRepo.GetById(id); Assert.IsNotNull(result); Assert.AreEqual(projectRequestAggregate.Id, id); Assert.AreEqual(projectRequestAggregate.RegularExpression, result.RegularExpression); Assert.AreEqual(projectRequestAggregate.AggregateTarget, result.AggregateTarget); } }
public async Task DefaultOutput_ShouldCreateNewProject() { Repository.ProjectGroups.Create(Arg.Any <ProjectGroupResource>()) .Returns(new ProjectGroupResource { Id = Guid.NewGuid().ToString(), Name = groupName }); Repository.Lifecycles.FindOne(Arg.Any <Func <LifecycleResource, bool> >()) .Returns(new LifecycleResource { Id = Guid.NewGuid().ToString(), Name = lifecycleName }); Repository.Projects.Create(Arg.Any <ProjectResource>()) .Returns(new ProjectResource { Id = projectId, Name = projectName }); await createProjectCommand.Execute(CommandLineArgs.ToArray()).ConfigureAwait(false); LogLines.Should().Contain($"Creating project: {projectName}"); LogLines.Should().Contain($"Project created. ID: {projectId}"); LogLines.Should().Contain("Project group does not exist, it will be created"); }
public void Execute_IntegrationTest_SQLite() { string filePath = Path.Combine(AppContext.BaseDirectory, Path.GetRandomFileName() + ".dbtest"); using (SQLiteDbContext dbContext = new SQLiteDbContext(filePath)) { dbContext.Initialise(); dbContext.BeginTransaction(); ProjectModel project = DataHelper.CreateProjectModel(); IProjectValidator projectValidator = new ProjectValidator(); ICreateProjectCommand createProjectCommand = new CreateProjectCommand(dbContext, projectValidator); ProjectModel savedProject = createProjectCommand.Execute(project); Assert.Greater(savedProject.Id, 0); int rowCount = dbContext.ExecuteScalar <int>("SELECT COUNT(*) FROM Projects"); Assert.Greater(rowCount, 0); string projectName = dbContext.ExecuteScalar <string>("SELECT Name FROM projects WHERE Id = @Id", savedProject); Assert.AreEqual(savedProject.Name, projectName); } }
public void ExecuteTest() { Assert.DoesNotThrow(() => { createProjectUnderTest.Execute(new object()); }); }