function it_should_not_call_the_load_schema_event_when_retrieving_from_the_cache(CacheInterface $cache, SchemaParserInterface $parser, $dispatcher) { $cache->getUseAutoCache()->willReturn(true); $cache->contains(LdapObjectSchema::getCacheType(), 'ad.user')->willReturn(true); $cache->getCacheCreationTime(LdapObjectSchema::getCacheType(), 'ad.user')->willReturn(new \DateTime('2015-1-3')); $cache->set(Argument::any())->shouldNotBeCalled(); $cache->get(LdapObjectSchema::getCacheType(), 'ad.user')->willReturn(new LdapObjectSchema('ad', 'user')); $parser->parse('ad', 'user')->shouldNotBeCalled(); $parser->getSchemaModificationTime('ad')->willReturn(new \DateTime('2015-1-2')); new LdapObjectSchemaEvent(Event::LDAP_SCHEMA_LOAD, new LdapObjectSchema('ad', 'user')); $dispatcher->dispatch(Argument::type('\\LdapTools\\Event\\LdapObjectSchemaEvent'))->shouldNotBeCalled(); $this->beConstructedWith($cache, $parser, $dispatcher); $this->get('ad', LdapObjectType::USER); }