# frozen_string_literal: true require 'spec_helper' RSpec.describe DeployToken, feature_category: :continuous_delivery do subject(:deploy_token) { create(:deploy_token) } it { is_expected.to have_many :project_deploy_tokens } it { is_expected.to have_many(:projects).through(:project_deploy_tokens) } it { is_expected.to have_many :group_deploy_tokens } it { is_expected.to have_many(:groups).through(:group_deploy_tokens) } it { is_expected.to belong_to(:user).with_foreign_key('creator_id') } it_behaves_like 'having unique enum values' describe 'validations' do let(:username_format_message) { "can contain only letters, digits, '_', '-', '+', and '.'" } it { is_expected.to validate_length_of(:username).is_at_most(255) } it { is_expected.to allow_value('GitLab+deploy_token-3.14').for(:username) } it { is_expected.not_to allow_value('