diff --git a/test/test_plot.jl b/test/test_plot.jl
index 16f10086597bf1d0fe499ddd693e478a824268e5..4b15d647d982dbbff94292f9050b6b452e912e25 100644
--- a/test/test_plot.jl
+++ b/test/test_plot.jl
@@ -17,4 +17,50 @@ using Gtk
         @visualtest plot_press "$dir/plots/pulseq_press.png" !isCI
     end
 
+    @testset "Instantaneous gradients & pulses" begin
+        function plot_perfect_dwi(fname)
+            sequence = DWI(TE=80., bval=2., Δ=40., gradient=(type=:instant, ))
+            f = plot_sequence(sequence)
+            CairoMakie.save(fname, f)
+        end
+    
+        @visualtest plot_perfect_dwi "$dir/plots/perfect_dwi.png" !isCI
+    end
+    
+    @testset "Finite RF pulses" begin
+        function plot_finite_rf(fname)
+            times = -2:0.1:2
+            raw_amp = sinc.(times)
+            sequence = build_sequence() do 
+                Sequence(
+                    GenericPulse(times .+ 2, raw_amp),
+                    InstantPulse(flip_angle=60., phase=0.),
+                    GenericPulse(times .+ 2, raw_amp .* 2),
+                    InstantPulse(flip_angle=120., phase=0.),
+                ) 
+            end
+            f = Figure()
+            Axis(f[1, 1])
+            plot_sequence(sequence)
+            CairoMakie.save(fname, f)
+        end
+    
+        @visualtest plot_finite_rf "$dir/plots/finite_rf.png" !isCI
+    end
+    
+    @testset "Finite gradients" begin
+        function plot_finite_dwi(fname, single_gradient=false)
+            sequence = DWI(bval=2., TE=80, TR=100, orientation=[0, -1, 1], scanner=Siemens_Prisma)
+            f = Figure()
+            Axis(f[1, 1])
+            plot!(sequence; single_gradient=single_gradient)
+            CairoMakie.save(fname, f)
+        end
+    
+        @visualtest fn->plot_finite_dwi(fn, true) "$dir/single_grad_dwi.png" !isCI
+        @visualtest fn->plot_finite_dwi(fn, false) "$dir/multi_grad_dwi.png" !isCI
+    end
+    
+        
+
 end
\ No newline at end of file