require 'integration_test_helper' class Backends::TerraformAwsControllerTest < ActionDispatch::IntegrationTest setup do login_as User.new(name: 'Test', email: 'test@example.com') end test 'new' do get new_terraform_aws_backend_path assert_response :success end test 'create' do attributes = { label: 'Test Backend', aws_region: 'test-region', aws_access_key_id: 'test-access-key-id', aws_secret_access_key: 'test-secret-access-key', route_53_zone_id: 'test-route-53-zone-id', vpc_id: 'test-vpc-id' } post( terraform_aws_backends_path, params: { backends_terraform_aws: attributes } ) assert_response :redirect follow_redirect! assert_response :success backend = Backends::TerraformAws.last attributes.each do |(key, value)| assert_equal backend.send(key), value end end test 'update' do backend = Backends::TerraformAws.create!( label: 'Old label', aws_region: 'old-test-region', aws_access_key_id: 'old-test-access-key-id', aws_secret_access_key: 'old-test-secret-access-key', route_53_zone_id: 'old-test-route-53-zone-id', vpc_id: 'test-vpc-id' ) new_attributes = { label: 'New label', aws_access_key_id: 'new-test-access-key-id', aws_secret_access_key: 'new-test-secret-access-key' } put( terraform_aws_backend_path(backend), params: { backends_terraform_aws: new_attributes } ) assert_response :success backend.reload end test 'show' do backend = Backends::TerraformAws.create!( label: 'Test Backend', aws_region: 'old-test-region', aws_access_key_id: 'old-test-access-key-id', aws_secret_access_key: 'old-test-secret-access-key', route_53_zone_id: 'old-test-route-53-zone-id', vpc_id: 'test-vpc-id' ) get terraform_aws_backend_path(backend) assert_response :success end test 'destroy' do backend = Backends::TerraformAws.create!( label: 'Test Backend', aws_region: 'old-test-region', aws_access_key_id: 'old-test-access-key-id', aws_secret_access_key: 'old-test-secret-access-key', route_53_zone_id: 'old-test-route-53-zone-id', vpc_id: 'test-vpc-id' ) delete terraform_aws_backend_path(backend) assert_response :redirect end end