diff --git a/spec/lib/roots/engine_route_collection_spec.rb b/spec/lib/roots/engine_route_collection_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/lib/roots/engine_route_collection_spec.rb
+++ b/spec/lib/roots/engine_route_collection_spec.rb
@@ -18,6 +18,25 @@ module Roots
       it 'adds the engine name to each route' do
         expect(subject.routes.all? { |route| route[:engine] == engine_name }).to eq(true)
       end
+
+      context 'all an engine\'s routes are internal' do
+        it 'does not add it to the ivar' do
+          allow(fake_route).to receive(:internal?) { true }
+          expect(subject.routes).to be_empty
+        end
+      end
+
+      context 'only some of an engine\'s routes are internal' do
+        let(:another_fake_route) { instance_double(EngineRoute, internal?: false) }
+        let(:routes) { [fake_route, another_fake_route]}
+        subject { described_class.new([{engine: engine_name, routes: routes }]) }
+
+        it 'adds the engine to the ivar' do
+          expect(subject.routes).to_not be_empty
+          expect(subject.routes.all? { |r| r[:engine] == engine_name }).to eq(true)
+          expect(subject.routes.first[:routes]).to eq(routes)
+        end
+      end
     end
   end
 end
More specs about how engine route collection works