From 2560fc36e7a3c122ed189d63cef740d28c2981bf Mon Sep 17 00:00:00 2001 From: Jez Caudle Date: Wed, 10 May 2023 21:03:21 +0100 Subject: [PATCH] tests coming along --- .gitignore | 3 +++ app/models/virtual.rb | 2 ++ db/schema.rb | 9 ++++++- test/fixtures/.credentials.yml.kate-swp | Bin 0 -> 784 bytes test/models/.virtual_test.rb.kate-swp | Bin 9343 -> 0 bytes test/models/virtual_test.rb | 33 +++++++++++++++++++++--- 6 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/.credentials.yml.kate-swp delete mode 100644 test/models/.virtual_test.rb.kate-swp diff --git a/.gitignore b/.gitignore index e16dc71..ff8c9d7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ # or operating system, you probably want to add a global ignore instead: # git config --global core.excludesfile '~/.gitignore_global' +**/.keep +**/.core + # Ignore bundler config. /.bundle diff --git a/app/models/virtual.rb b/app/models/virtual.rb index 5759752..bdd9882 100644 --- a/app/models/virtual.rb +++ b/app/models/virtual.rb @@ -1,2 +1,4 @@ class Virtual < ApplicationRecord + validates :email, presence: true + validates :destination, presence: true end diff --git a/db/schema.rb b/db/schema.rb index 0bea432..92a327b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,14 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_05_10_141218) do +ActiveRecord::Schema[7.0].define(version: 2023_05_10_184959) do + create_table "credentials", charset: "utf8mb4", collation: "utf8mb4_general_ci", force: :cascade do |t| + t.string "email" + t.string "password" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + create_table "domains", charset: "utf8mb4", collation: "utf8mb4_general_ci", force: :cascade do |t| t.string "domain" t.datetime "created_at", null: false diff --git a/test/fixtures/.credentials.yml.kate-swp b/test/fixtures/.credentials.yml.kate-swp new file mode 100644 index 0000000000000000000000000000000000000000..d7ae1f57bf2db366cf9e49d63cc9762b0d117046 GIT binary patch literal 784 zcmYk(K~BOz6vpvsTo{1@MFiZ{3lQT8*q|}Evhe`LG^PnEF(i5hjpy(LUcead;mV~; zx6c1D%{Pl#{Q9PEX5QzV8!XCAl^2iYIzO#fRemx(cFql#zv=7W$Jf=*=f%r+{romN zdOs^JePze5J-@Q^2+49@G;aCt$-UghQN4p_s;9V;yZA}&;ZpA7TRFpPd4N~)K92ei z@l^E#d@YY~bpJ8-=QWSV6Orv>k!~Y3v*vfQHIFW1%{SZMcm1zCE)#isUt}~rk;!#M z2Ahh^y(1D!TO`8P_FkL|n;~NhF$@t~h_&`xh+$~d;}Efh7(&JtVt6;U5JSk=LJT2e n3o(R@EyNHqwh*KH*_@;PHs=sB`)$r4R6Ox3dC+?f@y+}noq$Y! literal 0 HcmV?d00001 diff --git a/test/models/.virtual_test.rb.kate-swp b/test/models/.virtual_test.rb.kate-swp deleted file mode 100644 index f2a3218a07c5b3d9dd170de3cd6af9472ea9772d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9343 zcmc(lU2l~|6oq?AOQ{M-Mey6h0i;E&`2CTP^rj}pctayxno19$k$xx@jmBT#&+yJ0 zuZ=&z3*#SBW1MH5z4z?h5{Smc*SzUj>z&y%vuEu!?>RU%HMQ`;`rdfB_T~ES@V(93 z2}WmW->VBU{wu) zkGA_nhsU8hJl5dx4v#i?tiwkdJi5B}e)~fx;9$JE)*0FlwmK%N%KCC+TFHQnG<5*+5IS@9D!(z3)Q}KHTAagAa9hq`~N#qH{G*1Z4r6*1xMo&Kt5KG1kp$;sL25AaFn}R>3`^;p5 zJSF;}$=*54!F@2MsbI{Cgm9HnEsziMpTv!UR@Xji<5||3$AedKYHxgJZ#X*l4Szr0 zUf&vjI~s26_(GoGgW|KI`F3+18gFmp70wLXl^c{L)BPk*nGs+<#-e`s&(p!v6S?VN zWB=nOvC_aQj@a|<9^9gXw?MJI#%P12y(+=-6Aj{h7dbyen3AzGFln_TaEs|X4?f!=%|{&$8$8n?1E#*r=lPx{P48~U znqFEm!MaJZ!2e-#zV3U?Jq{k`_U~u!f+mH&aqXPp;|7=KEuFX76pz?C@T}NCwZb`TKYt zO`c-P_`(#OumdjlJUwVQJkJ}nH8Eo%FzZu3BA`2-H(}9f6*9hwWC;MwtC$Cev-uEx z6JfZ06Zu@74Mxspegc-SSsjDrYPPB1>S{36)nFFdokx|cg%D^VUrSNtYH3utTF8+e z+10>uwKQ*e+D-QxTFBK*z+kzWxeZvJR`MrLE2GLbQVbPdX)$b({7sXnvW>Jdd0KcW zEmV3@I4~-{G>S?uWkaPGUP=!YUwA2uiZ88hsd0G^E`qImY5yX)tmG0*n#D`tl;LG? z*~ORl^|%a9b9e<@GW;q`$;N9iWhJk}q@;ht4;Qz)uxDbt@O}ZH4DlZRj7=S16PzWgvuCMa77tIJfMteqB2H9Dr3aMW8SU&hYsJGuie18^;3m|Dazxro8_T!6{v0yv)wVA9&p1(Pq)W6ffsDz{3U{u0UZZP>|0CP`%qd>@@dN#nQj7t>B(9RoLNQNO@7?p7t z5R3}hga%e2rx+^Z5@Xm}`AZ!=B<>PZ@;3R?B8wX=ahHrp-eoP4cbb<9In7Ij+{U=t z;t>8Ktnt_RLDKN7z;YTosVImI998AmxhMO6OlcbY!qM_MPwXCMzP$-ttUM#WE8QJFtUm-{Y4B$ug|1_OO85;2*q>H z6gX#!&&rg|0IW>KcreP9oiSkL%1R7ea|NSZX`PgrGmlK_%DdQ4_dp`rPxnB{syAjv zNBV*^!8okFeHXh2>|gC*G)dbmu%;Lr45RG~sl#YP(?YeKDMs~udT2ZCB@0})6Gq!< z!UJnFO_*T0etIs?A5l&`mEVtgE`&=iFd2VcqKEw73Iim zz|!uSN#?*(t~3IYYMVwVJ%4)i0Q6<4ukBOxHobtQdCMSJnvW9~Mw(Aqkmgf_ZeYxa zwQyVY^O5CR^#fD&1FibKFC*GN-0_r@+dtd^*^${vVjQ~nd29b=223#jNdT(lTQh7JtbiBDFLph1WZ09z|~e@dXm{#n0iXU=#*fBTuI7M z`IG=l%C?DMWy)j#R;I#uV3eyUJ{V;yqyob%T-adlof;B3O+YQiwtguyji zFv^zgD>$1l*i9JGIevUnLf-sjheUgEg=W<&E}Fw42-Odz(Ak z!z;tl#`@jyovqEiTPx$Q*0*+VkC$)kY&9RkN$DmhWkp;`eo&I1c?ekY3+cc}fQ69+ zLvXZ_1j9*TBtbi;z!IQsJeYY6%t^uAZWw%)_^b@T*$u(f4Pmkyg0mZfB|XjB#g($_ z$^Hk~rQCf}eCA+f@IeI}*`tTDXL|rv?(8i9tlY(001Wr!1opMS{8NSc3N(HiPvfWg f+;4o3L5AJXnTz(%3>~cfONFof8+mW--Dvf1GOdw) diff --git a/test/models/virtual_test.rb b/test/models/virtual_test.rb index affa4d1..e91bf79 100644 --- a/test/models/virtual_test.rb +++ b/test/models/virtual_test.rb @@ -1,7 +1,34 @@ require "test_helper" class VirtualTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end + test "the email cant be blank" do + @v = Virtual.new + @v.destination = "davesmith@example.com" + assert !@v.save + end + + test "the destination email cant be blank" do + @v = Virtual.new + @v.email = "davesmith@example.com" + assert !@v.save + end + + test "the domain name of the email must be on this server" do + @v = Virtual.new + @v.email = "davesmith@notonthisserver.com" + @v.destination = "bob@example.net" + assert !@v.save + end + + test "the email must be a valid email" do + # flunk() + end + + test "the destination must be a valid email" do + # flunk() + end + + test "the email plus destination must be unique" do + # flunk() + end end