From 5add5f75bcd2729b755655638615532569c7420f Mon Sep 17 00:00:00 2001 From: Ryan Smith <0ryansmith1994@gmail.com> Date: Fri, 7 Aug 2015 20:00:20 +0100 Subject: [PATCH] Adds test to check versions. --- tests/VersionTest.php | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tests/VersionTest.php diff --git a/tests/VersionTest.php b/tests/VersionTest.php new file mode 100644 index 0000000..f8ceae3 --- /dev/null +++ b/tests/VersionTest.php @@ -0,0 +1,45 @@ +<?php namespace Tests; +use \PHPUnit_Framework_TestCase as PhpUnitTestCase; + +class VersionTest extends PhpUnitTestCase { + protected $expected_versions; + + public function setup() { + $this->expected_versions = $this->readComposerLock(); + } + + private function readComposerLock() { + $lock = json_decode(file_get_contents(__DIR__.'/../composer.lock')); + return array_reduce($lock->packages, function ($carry, $item) { + $carry[str_replace('/', '-', $item->name)] = str_replace('v', '', $item->version); + return $carry; + }, []); + } + + public function testExpander() { + $this->assertCorrectVersion('moodle-log-expander'); + } + + public function testTranslator() { + $this->assertCorrectVersion('moodle-xapi-translator'); + } + + public function testEmitter() { + $this->assertCorrectVersion('xapi-recipe-emitter'); + } + + private function assertCorrectVersion($repo) { + $actual = $this->readActualVersion($repo); + $expected = $this->readExpectedVersion($repo); + $this->assertEquals($expected, $actual); + } + + private function readActualVersion($repo) { + $version = file_get_contents(__DIR__.'/../vendor/learninglocker/'.$repo.'/VERSION'); + return str_replace("\n", "", str_replace("\r", "", $version)); + } + + private function readExpectedVersion($repo) { + return $this->expected_versions['learninglocker-'.$repo]; + } +} \ No newline at end of file -- GitLab