[QA] Retrieve the current user name and email

Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
Rémy Coutable 2019-01-10 13:08:44 +01:00
parent be855cc6a2
commit f48f9460fd
No known key found for this signature in database
GPG Key ID: 98DFFD1C0C62B70B
4 changed files with 11 additions and 12 deletions

View File

@ -126,10 +126,6 @@ module QA
mod
end
def self.attributes_names
dynamic_attributes.instance_methods(false).sort.grep_v(/=$/)
end
class DSL
def initialize(base)
@base = base

View File

@ -6,9 +6,12 @@ module QA
module Resource
class User < Base
attr_reader :unique_id
attr_writer :username, :password, :name, :email
attr_writer :username, :password
attr_accessor :provider, :extern_uid
attribute :name
attribute :email
def initialize
@unique_id = SecureRandom.hex(8)
end
@ -22,11 +25,11 @@ module QA
end
def name
@name ||= username
@name ||= api_resource&.dig(:name) || username
end
def email
@email ||= "#{username}@example.com"
@email ||= api_resource&.dig(:email) || "#{username}@example.com"
end
def credentials_given?

View File

@ -39,11 +39,15 @@ module QA
end
it 'user views raw email patch' do
user = Resource::User.fabricate_via_api! do |user|
user.username = Runtime::User.username
end
view_commit
Page::Project::Commit::Show.perform(&:select_email_patches)
expect(page).to have_content('From: Administrator <admin@example.com>')
expect(page).to have_content("From: #{user.name} <#{user.email}>")
expect(page).to have_content('Subject: [PATCH] Add second file')
expect(page).to have_content('diff --git a/second b/second')
end

View File

@ -138,10 +138,6 @@ describe QA::Resource::Base do
describe '.attribute' do
include_context 'simple resource'
it 'appends new attribute' do
expect(subject.attributes_names).to eq([:no_block, :test, :web_url])
end
context 'when the attribute is populated via a block' do
it 'returns value from the block' do
result = subject.fabricate!(resource: resource)