From 415ac76ded64d375f40b3ab0fd93f461afab5d4a Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Wed, 18 Jan 2023 16:44:08 +0100 Subject: [PATCH] tests --- app/services/contact_details/base.rb | 2 +- app/services/contact_details/twitter.rb | 6 +-- test/services/contact_details_test.rb | 71 +++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 6 deletions(-) create mode 100644 test/services/contact_details_test.rb diff --git a/app/services/contact_details/base.rb b/app/services/contact_details/base.rb index 62d6fb679..ebb65f078 100644 --- a/app/services/contact_details/base.rb +++ b/app/services/contact_details/base.rb @@ -2,7 +2,7 @@ class ContactDetails::Base attr_accessor :url, :label def initialize(string) - @string = string + @string = string.to_s prepare_url prepare_label end diff --git a/app/services/contact_details/twitter.rb b/app/services/contact_details/twitter.rb index 3a9a69038..b6d48276c 100644 --- a/app/services/contact_details/twitter.rb +++ b/app/services/contact_details/twitter.rb @@ -3,11 +3,7 @@ class ContactDetails::Twitter < ContactDetails::Base DOMAIN = 'twitter.com' protected - - # arnaudlevy - # twitter.com/arnaudlevy - # https://twitter.com/arnaudlevy - # TODO vrais tests + def prepare_url @url = @string @url.remove! DOMAIN if @url.start_with? DOMAIN diff --git a/test/services/contact_details_test.rb b/test/services/contact_details_test.rb new file mode 100644 index 000000000..5f1ec176d --- /dev/null +++ b/test/services/contact_details_test.rb @@ -0,0 +1,71 @@ +require "test_helper" + +class ContactDetailsTest < ActiveSupport::TestCase + + test "country nil" do + detail = ContactDetails::Country.new nil + assert_equal detail.label, '' + assert_equal detail.url, '' + end + + test "country FR" do + detail = ContactDetails::Country.new 'FR' + assert_equal detail.label, 'France' + assert_equal detail.url, 'FR' + end + + test "email nil" do + detail = ContactDetails::Email.new nil + assert_equal detail.label, '' + assert_equal detail.url, '' + end + + test "email arnaud.levy@noesya.coop" do + detail = ContactDetails::Email.new 'arnaud.levy@noesya.coop' + assert_equal detail.label, 'arnaud.levy@noesya.coop' + assert_equal detail.url, 'mailto:arnaud.levy@noesya.coop' + end + + test "twitter nil" do + detail = ContactDetails::Twitter.new nil + assert_equal detail.label, '' + assert_equal detail.url, '' + end + + test "twitter handle" do + detail = ContactDetails::Twitter.new 'arnaudlevy' + assert_equal detail.label, 'arnaudlevy' + assert_equal detail.url, 'https://twitter.com/arnaudlevy' + end + + test "twitter twitter.com/arnaudlevy" do + detail = ContactDetails::Twitter.new 'twitter.com/arnaudlevy' + assert_equal detail.label, 'arnaudlevy' + assert_equal detail.url, 'https://twitter.com/arnaudlevy' + end + + test "twitter https://twitter.com/arnaudlevy" do + detail = ContactDetails::Twitter.new 'https://twitter.com/arnaudlevy' + assert_equal detail.label, 'arnaudlevy' + assert_equal detail.url, 'https://twitter.com/arnaudlevy' + end + + test "website nil" do + detail = ContactDetails::Website.new nil + assert_equal detail.label, '' + assert_equal detail.url, '' + end + + test "website www.noesya.coop" do + detail = ContactDetails::Website.new 'www.noesya.coop' + assert_equal detail.label, 'www.noesya.coop' + assert_equal detail.url, 'https://www.noesya.coop' + end + + test "website https://www.noesya.coop" do + detail = ContactDetails::Website.new 'https://www.noesya.coop' + assert_equal detail.label, 'www.noesya.coop' + assert_equal detail.url, 'https://www.noesya.coop' + end + +end \ No newline at end of file -- GitLab