Commit a1379dea authored by Brian Hatchet's avatar Brian Hatchet
Browse files

Refactor and fixing up unit tests

parent f310dde2
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -104,7 +104,6 @@ class Exportable implements \JsonSerializable
            $exported = $item->export(...$this->exportArgs);
            $exported = $item->export(...$this->exportArgs);


            if ($item && Di::_()->get('Features\Manager')->has('permissions')) {
            if ($item && Di::_()->get('Features\Manager')->has('permissions')) {
                $userGuid = $user ? $user->getGuid() : null;
                $permissionsManager = Di::_()->get('Permissions\Manager');
                $permissionsManager = Di::_()->get('Permissions\Manager');
                $permissions = $permissionsManager->getList(['user_guid' => Session::getLoggedinUser(),
                $permissions = $permissionsManager->getList(['user_guid' => Session::getLoggedinUser(),
                                                            'entities' => [$item]]);
                                                            'entities' => [$item]]);
+0 −2
Original line number Original line Diff line number Diff line
@@ -224,8 +224,6 @@ class Factory
            $entities[$k] = $entity->export();
            $entities[$k] = $entity->export();
            //Calculate new permissions object with the entities
            //Calculate new permissions object with the entities
            if ($entity && Di::_()->get('Features\Manager')->has('permissions')) {
            if ($entity && Di::_()->get('Features\Manager')->has('permissions')) {
                $userGuid = $user ? $user->getGuid() : null;
                
                $permissions = $permissionsManager->getList(['user_guid' => Session::getLoggedinUser(),
                $permissions = $permissionsManager->getList(['user_guid' => Session::getLoggedinUser(),
                                                            'entities' => [$entity]]);
                                                            'entities' => [$entity]]);
                $entities[$k]['permissions'] = $permissions->export();
                $entities[$k]['permissions'] = $permissions->export();

Controllers/Cli/Test.php.orig

deleted100644 → 0
+0 −137
Original line number Original line Diff line number Diff line
<?php

namespace Minds\Controllers\Cli;

use Minds\Cli;
use Minds\Core;
use Minds\Core\Data\ElasticSearch;
use Minds\Core\Di\Di;
use Minds\Interfaces;

class Test extends Cli\Controller implements Interfaces\CliControllerInterface
{
    public function __construct()
    {
        define('__MINDS_INSTALLING__', true);
    }

    public function help($command = null)
    {
        $this->out('TBD');
    }

    public function exec()
    {
        $client = Di::_()->get('Database\ElasticSearch');

        $query = [
            'index' => 'minds-boost-campaigns',
            //'type' => 'activity',
            '_source' => true,
            'size' => 100,
            'body' => [
                'query' => [
                    'bool' => [
                        'must_not' => [
                            [
                                'exists' => [
                                    'field' => '@completed',
                                ],
                            ],
                            [
                                'exists' => [
                                    'field' => '@rejected',
                                ],
                            ],
                            [
                                'exists' => [
                                    'field' => '@revoked',
                                ],
                            ],
                        ],
                        'filter' => [
                            'script' => [
                                'script' => [
                                    "inline" => "
                                if(doc._index.value == 'minds-boost')
                                    return true;
                                
                                ZonedDateTime start = ZonedDateTime.ofInstant(doc.start.value.toInstant(), ZoneId.systemDefault());
                                ZonedDateTime end = ZonedDateTime.ofInstant(doc.end.value.toInstant(), ZoneId.systemDefault());
                                
                                def totalAmountOfDays = ChronoUnit.DAYS.between(start, end);
                                def impressionsPerDay = doc.impressions.value / totalAmountOfDays;
                                
                                ZonedDateTime now = ZonedDateTime.ofInstant(Instant.ofEpochMilli(params.nowMillis), ZoneId.systemDefault());
                                                                
                                def passedDays = ChronoUnit.DAYS.between(now, end);
                                def impressionsMetPerDay = (doc.impressions_met.value ?: doc.impressions.value) / passedDays;
Debug.explain(impressionsPerDay);
                                return impressionsMetPerDay <= impressionsPerDay;
                                ",
                                    'lang' => 'painless',
                                    'params' => [
                                        'nowMillis' => time() * 1000,
                                    ],
                                ],
                            ],

                        ],
                    ],
                ],
            ],
        ];

        $prepared = new ElasticSearch\Prepared\Search();
        $prepared->query($query);

        try {
            $result = $client->request($prepared);
            var_dump($result);
        } catch (\Exception $e) {
            var_dump(str_replace("\\n", "\r\n", $e->getMessage()));
        }

<<<<<<< Updated upstream
        $this->out($namespace);
=======
        //                var_dump($result);
        //        die();

>>>>>>> Stashed changes
    }

    private function getTrendingActivities()
    {
        $result = Core\Di\Di::_()->get('Trending\Repository')->getList([
            'type' => 'newsfeed',
            'limit' => 12,
        ]);
        ksort($result['guids']);
        $options['guids'] = $result['guids'];

        $activities = Core\Entities::get(array_merge([
<<<<<<< Updated upstream
                'type' => 'activity'
            ], $options));
=======
                'type' => 'activity',
            ]
            , $options));
>>>>>>> Stashed changes

        $activities = array_filter($activities, function ($activity) {
            if ($activity->paywall) {
                return false;
            }

            if ($activity->remind_object && $activity->remind_object['paywall']) {
                return false;
            }

            return true;
        });

        return $activities;
    }
}
+0 −8
Original line number Original line Diff line number Diff line
@@ -92,14 +92,6 @@ class channel implements Interfaces\Api
        $block = Core\Security\ACL\Block::_();
        $block = Core\Security\ACL\Block::_();
        $response['channel']['blocked'] = $block->isBlocked($user);
        $response['channel']['blocked'] = $block->isBlocked($user);


        //Calculate new permissions object with the entities
        if ($user && Di::_()->get('Features\Manager')->has('permissions')) {
            $permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
            $permissions = $permissionsManager->getList(['user_guid' => Core\Session::getLoggedInUserGuid(),
                                                        'entities' => [$user]]);
            $response['permissions'] = $permissions;
        }

        if ($user->isPro()) {
        if ($user->isPro()) {
            /** @var Core\Pro\Manager $manager */
            /** @var Core\Pro\Manager $manager */
            $manager = Core\Di\Di::_()->get('Pro\Manager');
            $manager = Core\Di\Di::_()->get('Pro\Manager');
+0 −7
Original line number Original line Diff line number Diff line
@@ -78,13 +78,6 @@ class groups implements Interfaces\Api
        $response['groups'] = Factory::exportable($groups);
        $response['groups'] = Factory::exportable($groups);
        $response['entities'] = Factory::exportable($groups);
        $response['entities'] = Factory::exportable($groups);


        if ($groups && Di::_()->get('Features\Manager')->has('permissions')) {
            $permissionsManager = Core\Di\Di::_()->get('Permissions\Manager');
            $permissions = $permissionsManager->getList(['user_guid' => Core\Session::getLoggedInUserGuid(),
                                                        'entities' => $groups]);
            $response['permissions'] = $permissions;
        }

        if (!isset($response['load-next']) && $groups) {
        if (!isset($response['load-next']) && $groups) {
            $response['load-next'] = (string) end($groups)->getGuid();
            $response['load-next'] = (string) end($groups)->getGuid();
        }
        }
Loading