api_key_spec.rb revision 7e8d633ae2984c6f6c89c199c5308e682989bfbe
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenrequire 'spec_helper'
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainendescribe ApiKey do
8aacc9e7c84f8376822823ec98c2f551d4919b2eTimo Sirainen let(:api_key) { create :api_key }
16f816d3f3c32ae3351834253f52ddd0212bcbf3Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen it 'should have a valid factory' do
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen expect(api_key).to be_valid
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen context 'invalid on' do
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen it 'non-unique keys' do
463e82bdf0e990f4f2252d2b53ea23a5abe5883cTimo Sirainen invalid_key = build(:api_key, key: api_key.key)
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen expect(invalid_key).to_not be_valid
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen end
a0d34d3982507f513a9d800082481e9faeb9a943Timo Sirainen
a0d34d3982507f513a9d800082481e9faeb9a943Timo Sirainen it 'non-present user' do
bbf796c17f02538058d7559bfe96d677e5b55015Timo Sirainen invalid_key = build(:api_key, user: nil)
e6d7d19c328e7043ad35d5a52c1617bde915a16fTimo Sirainen expect(invalid_key).to_not be_valid
d7095f3a4466fbb78b2d5eb3d322bc15a5b0ab1fTimo Sirainen end
d7095f3a4466fbb78b2d5eb3d322bc15a5b0ab1fTimo Sirainen
d7095f3a4466fbb78b2d5eb3d322bc15a5b0ab1fTimo Sirainen it 'unacceptable status' do
d7095f3a4466fbb78b2d5eb3d322bc15a5b0ab1fTimo Sirainen invalid_key = build(:api_key, status: 'nice status')
bbf796c17f02538058d7559bfe96d677e5b55015Timo Sirainen expect(invalid_key).to_not be_valid
bbf796c17f02538058d7559bfe96d677e5b55015Timo Sirainen end
bbf796c17f02538058d7559bfe96d677e5b55015Timo Sirainen end
bbf796c17f02538058d7559bfe96d677e5b55015Timo Sirainenend
bbf796c17f02538058d7559bfe96d677e5b55015Timo Sirainen