public async Task UpdateEnvironmentCommandHandler_Handle_ShouldUpdateTheEnvironmentById() { var applicationId = Guid.NewGuid(); var application = new Domain.Entities.Application { Id = applicationId, Name = "App" }; Context.Applications.Add(application); var env = new Domain.Entities.Environment { Name = "Prod", ApplicationId = applicationId, Id = Guid.Parse("8B20CDFD-204C-4610-8E6F-B3861457152E") }; Context.Environments.Add(env); env = new Domain.Entities.Environment { Name = "Dev", ApplicationId = applicationId, Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3") }; Context.Environments.Add(env); await Context.SaveChangesAsync(CancellationToken.None); var command = new UpdateEnvironmentCommand(new UpdateEnvironmentDto { ApplicationId = applicationId, Name = "Local", Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3"), IsActive = true }); await _updateEnvironmentCommandHandler.Handle(command, CancellationToken.None); var actualEnvironmentEntity = Context.Environments.FirstOrDefault(e => e.Id == Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3")); Assert.Equal("Local", actualEnvironmentEntity?.Name); }
public async Task UpdateEnvironmentCommandHandler_Handle_ShouldThrowExceptionIfRecordNotFound() { var applicationId = Guid.NewGuid(); var application = new Domain.Entities.Application { Id = applicationId, Name = "App" }; Context.Applications.Add(application); var env = new Domain.Entities.Environment { Name = "Prod", ApplicationId = applicationId, Id = Guid.Parse("8B20CDFD-204C-4610-8E6F-B3861457152E") }; Context.Environments.Add(env); env = new Domain.Entities.Environment { Name = "Dev", ApplicationId = applicationId, Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3") }; Context.Environments.Add(env); await Context.SaveChangesAsync(CancellationToken.None); var command = new UpdateEnvironmentCommand(new UpdateEnvironmentDto { ApplicationId = applicationId, Name = "Local", Id = Guid.Parse("4843AC32-47F9-464F-9A2C-8716AD22F9D3") }); await Assert.ThrowsAsync <NotFoundException>(() => _updateEnvironmentCommandHandler.Handle(command, CancellationToken.None)); }
UpdateEnvironmentCommandHandler_Handle_ShouldThrowExceptionIfEnvironmentNameAlreadyExistsInApplication() { var applicationId = Guid.NewGuid(); var application = new Domain.Entities.Application { Id = applicationId, Name = "App" }; Context.Applications.Add(application); var env = new Domain.Entities.Environment { Name = "Prod", ApplicationId = applicationId, Id = Guid.Parse("8B20CDFD-204C-4610-8E6F-B3861457152E") }; Context.Environments.Add(env); env = new Domain.Entities.Environment { Name = "Dev", ApplicationId = applicationId, Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3") }; Context.Environments.Add(env); await Context.SaveChangesAsync(CancellationToken.None); var command = new UpdateEnvironmentCommand(new UpdateEnvironmentDto { ApplicationId = applicationId, Name = "Prod", Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3") }); await Assert.ThrowsAsync <RecordAlreadyExistsException>(() => _updateEnvironmentCommandHandler.Handle(command, CancellationToken.None)); }