mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-12-27 10:14:17 +08:00
add custom method that generates smart annotations name from repository name [fixes SCI-2307]
This commit is contained in:
parent
ee307886df
commit
3e10ff7fc5
2 changed files with 50 additions and 7 deletions
|
@ -56,7 +56,15 @@ module SmartAnnotations
|
|||
end
|
||||
|
||||
def trim_repository_name(name)
|
||||
name.strip.slice(0..2).capitalize
|
||||
splited_name = name.split
|
||||
size = splited_name.size
|
||||
return name.strip.slice(0..2).capitalize if size == 1
|
||||
generate_name_from_array(splited_name, size).capitalize
|
||||
end
|
||||
|
||||
def generate_name_from_array(names, size)
|
||||
return "#{names[0].slice(0..1)}#{names[1][0]}" if size == 2
|
||||
"#{names[0][0]}#{names[1][0]}#{names[2][0]}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -52,12 +52,47 @@ describe SmartAnnotations::HtmlPreview do
|
|||
end
|
||||
end
|
||||
|
||||
describe '#trim_repository_name/1' do
|
||||
it 'is returns a 3 letter upcase string' do
|
||||
trimmed_repository_name = subject.__send__(
|
||||
:trim_repository_name, 'banana'
|
||||
)
|
||||
expect(trimmed_repository_name).to eq('Ban')
|
||||
context '#trim_repository_name/1' do
|
||||
describe 'repository name with one word' do
|
||||
it 'is returns a 3 letter capitalize string' do
|
||||
trimmed_repository_name = subject.__send__(
|
||||
:trim_repository_name, 'banana'
|
||||
)
|
||||
expect(trimmed_repository_name).to eq('Ban')
|
||||
end
|
||||
end
|
||||
|
||||
describe 'repository name with two words' do
|
||||
it 'returns the first two letters of first word ' \
|
||||
'and the first letter of second word' do
|
||||
trimmed_repository_name = subject.__send__(
|
||||
:trim_repository_name, 'two words'
|
||||
)
|
||||
expect(trimmed_repository_name).to eq('Tww')
|
||||
end
|
||||
|
||||
it 'does not return 3 letters of the first word' do
|
||||
trimmed_repository_name = subject.__send__(
|
||||
:trim_repository_name, 'two words'
|
||||
)
|
||||
expect(trimmed_repository_name).not_to eq('Two')
|
||||
end
|
||||
end
|
||||
|
||||
describe 'repository name with three words' do
|
||||
it 'returns the first letter of first 3 words capitalized' do
|
||||
trimmed_repository_name = subject.__send__(
|
||||
:trim_repository_name, 'two words of wisdom'
|
||||
)
|
||||
expect(trimmed_repository_name).to eq('Two')
|
||||
end
|
||||
|
||||
it 'does not return 3 letters of the first word' do
|
||||
trimmed_repository_name = subject.__send__(
|
||||
:trim_repository_name, 'two words'
|
||||
)
|
||||
expect(trimmed_repository_name).not_to eq('Two')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue