From 262fd30d28c030cb42b4583c0a6bb394dea12067 Mon Sep 17 00:00:00 2001 From: icebaker Date: Tue, 9 Jan 2024 22:00:00 -0300 Subject: migrating to PATH --- spec/components/storage_spec.rb | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 spec/components/storage_spec.rb (limited to 'spec') diff --git a/spec/components/storage_spec.rb b/spec/components/storage_spec.rb new file mode 100644 index 0000000..99131dd --- /dev/null +++ b/spec/components/storage_spec.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require_relative '../../components/storage' + +RSpec.describe NanoBot::Components::Storage do + it 'symbolizes keys' do + expect( + described_class.cartridges_path( + components: { home: '/home/aqua', ENV: {}, directory?: ->(_) { true } } + ) + ).to eq('/home/aqua/.local/share/nano-bots/cartridges') + + expect( + described_class.cartridges_path( + components: { + home: '/home/aqua', + ENV: { 'NANO_BOTS_CARTRIDGES_DIRECTORY' => '/home/aqua/my-cartridges' }, + directory?: ->(_) { true } + } + ) + ).to eq('/home/aqua/my-cartridges') + + expect( + described_class.cartridges_path( + components: { + home: '/home/aqua', + ENV: { + 'NANO_BOTS_CARTRIDGES_DIRECTORY' => '/home/aqua/my-cartridges', + 'NANO_BOTS_CARTRIDGES_PATH' => '/home/aqua/lime/my-cartridges' + }, + directory?: ->(_) { true } + } + ) + ).to eq('/home/aqua/lime/my-cartridges:/home/aqua/my-cartridges') + + expect( + described_class.cartridges_path( + components: { + home: '/home/aqua', + ENV: { + 'NANO_BOTS_CARTRIDGES_DIRECTORY' => '/home/aqua/my-cartridges', + 'NANO_BOTS_CARTRIDGES_PATH' => '/home/aqua/lime/my-cartridges:/home/aqua/ivory/my-cartridges' + }, + directory?: lambda do |path| + { '/home/aqua/my-cartridges' => true, + '/home/aqua/lime/my-cartridge' => false, + '/home/aqua/ivory/my-cartridges' => true }[path] + end + } + ) + ).to eq('/home/aqua/ivory/my-cartridges:/home/aqua/my-cartridges') + end +end -- cgit v1.2.3