mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 03:10:46 -06:00
Add specs for Enum class
This commit is contained in:
parent
5c986be753
commit
5cf69baf56
40
spec/components/enum_spec.rb
Normal file
40
spec/components/enum_spec.rb
Normal file
@ -0,0 +1,40 @@
|
||||
require 'spec_helper'
|
||||
require 'email'
|
||||
|
||||
describe Enum do
|
||||
|
||||
let(:enum) { Enum.new(:jake, :finn, :princess_bubblegum, :peppermint_butler) }
|
||||
|
||||
context ".[]" do
|
||||
it "allows us to look up a number by symbol" do
|
||||
enum[:princess_bubblegum].should == 3
|
||||
end
|
||||
|
||||
it "allows us to look up a symbol by number" do
|
||||
enum[2].should == :finn
|
||||
end
|
||||
end
|
||||
|
||||
context ".valid?" do
|
||||
it "returns true for a value that exists" do
|
||||
enum.valid?(4).should be_false
|
||||
end
|
||||
|
||||
it "returns true for a key that doesn't exist" do
|
||||
enum.valid?(:ice_king).should be_false
|
||||
end
|
||||
end
|
||||
|
||||
context ".only" do
|
||||
it "returns only the values we ask for" do
|
||||
enum.only(:jake, :princess_bubblegum).should == {jake: 1, princess_bubblegum: 3}
|
||||
end
|
||||
end
|
||||
|
||||
context ".except" do
|
||||
it "doesn't return the values we don't want" do
|
||||
enum.except(:jake, :princess_bubblegum).should == {finn: 2, peppermint_butler: 4}
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user