diff --git a/Gemfile b/Gemfile
index 4083cab26aa7b28399a2d39e1f7edebd65c6a9a8..349ecfe9adc94dffbc7773c538f5bbba5ac3eaaa 100644
--- a/Gemfile
+++ b/Gemfile
@@ -54,6 +54,7 @@ gem 'summernote-rails', git: 'https://github.com/noesya/summernote-rails.git', b
 group :development, :test do
   gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
   gem 'figaro'
+  gem 'vcr'
 end
 
 group :development do
diff --git a/Gemfile.lock b/Gemfile.lock
index 1b593fceb40e583a84200191aac2e2f4c8d90b57..61164d72dd1b2258243d9714697766b758f4e034 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -419,6 +419,7 @@ GEM
     unf_ext (0.0.8)
     unicode-display_width (2.1.0)
     unicode_utils (1.4.0)
+    vcr (6.0.0)
     warden (1.2.9)
       rack (>= 2.0.9)
     web-console (4.2.0)
@@ -490,6 +491,7 @@ DEPENDENCIES
   summernote-rails!
   two_factor_authentication!
   tzinfo-data
+  vcr
   web-console (>= 4.1.0)
   webdrivers
 
diff --git a/test/fixtures/communication/website.yml b/test/fixtures/communication/website.yml
index 5e9fc04572143c27e0ac3edf2cca2755f6bfe8f1..28f8285371d9abd08db2b161f1281b832ac35c1f 100644
--- a/test/fixtures/communication/website.yml
+++ b/test/fixtures/communication/website.yml
@@ -1,3 +1,11 @@
-test:
-  university: test
+website_with_github:
+  university: default_university
   name: Site de test
+  git_provider: github
+  access_token: test
+
+website_with_gitlab:
+  university: default_university
+  name: Site with gitlab
+  git_provider: gitlab
+  access_token: test
diff --git a/test/fixtures/communication/website/post.yml b/test/fixtures/communication/website/post.yml
index acb62a96a95f0fcedbffa49bef57dd388b1d0e8e..b723b9dfc22d7e41b5996204251a4637b8e918fe 100644
--- a/test/fixtures/communication/website/post.yml
+++ b/test/fixtures/communication/website/post.yml
@@ -1,5 +1,5 @@
-test:
-  university: test
-  website: test
+test_post:
+  university: default_university
+  website: website_with_github
   title: Test
   slug: test
diff --git a/test/fixtures/university.yml b/test/fixtures/university.yml
index 0ef3e762f353b857b6a82e0e390b29bbf8ad422a..d5c83b9875f709ee879d928f1a18b927d3725f20 100644
--- a/test/fixtures/university.yml
+++ b/test/fixtures/university.yml
@@ -1,2 +1,2 @@
-test:
+default_university:
   name: Université de test
diff --git a/test/integration/summernote_test.rb b/test/integration/summernote_test.rb
index 43cef8518107b3fda71fbb281c2114fd5cbc0122..7f70e6f73852a7a75b42295792fac99ba5ed1f81 100644
--- a/test/integration/summernote_test.rb
+++ b/test/integration/summernote_test.rb
@@ -5,18 +5,18 @@ class SummernoteTest < ActiveSupport::TestCase
   HTML_DEHYDRATED = "<action-text-attachment sgid=\"sgid\" content-type=\"image/jpeg\" url=\"http://localhost:3000/dan-gold.jpeg\" filename=\"test.jpg\" filesize=\"352931\" width=\"588\" height=\"746\" previewable=\"true\" presentation=\"gallery\"></action-text-attachment>"
 
   test "dehydrate actiontext" do
-    post = communication_website_post(:test)
-    post.text_new = HTML_HYDRATED
+    post = communication_website_post(:test_post)
+    post.text = HTML_HYDRATED
     post.save
     post.reload
-    assert_equal HTML_DEHYDRATED, post.text_new_before_type_cast
+    assert_equal HTML_DEHYDRATED, post.text_before_type_cast
   end
 
   test "rehydrate actiontext" do
-    post = communication_website_post(:test)
-    post.text_new = HTML_DEHYDRATED
+    post = communication_website_post(:test_post)
+    post.text = HTML_DEHYDRATED
     post.save
     post.reload
-    assert_equal HTML_HYDRATED, communication_website_post(:test).text_new.to_s
+    assert_equal HTML_HYDRATED, communication_website_post(:test_post).text.to_s
   end
  end
diff --git a/test/services/git_repository_test.rb b/test/services/git_repository_test.rb
new file mode 100644
index 0000000000000000000000000000000000000000..629114341d8f4e100f3e3f412f133ddc4ce93096
--- /dev/null
+++ b/test/services/git_repository_test.rb
@@ -0,0 +1,8 @@
+require "test_helper"
+
+class GitRepositoryTest < ActiveSupport::TestCase
+
+  test "params for dan-gold.jpeg" do
+
+  end
+end
diff --git a/test/integration/variant_service_test.rb b/test/services/variant_service_test.rb
similarity index 100%
rename from test/integration/variant_service_test.rb
rename to test/services/variant_service_test.rb
diff --git a/test/support/vcr.rb b/test/support/vcr.rb
new file mode 100644
index 0000000000000000000000000000000000000000..883fcec2701cc9f247cbd213ad87030e76a66a41
--- /dev/null
+++ b/test/support/vcr.rb
@@ -0,0 +1,7 @@
+require 'vcr'
+
+VCR.configure do |c|
+  c.cassette_library_dir = 'test/cassettes'
+  c.hook_into :webmock
+  c.allow_http_connections_when_no_cassette = false
+end