mirror of
https://github.com/shlinkio/shlink.git
synced 2024-11-27 08:18:24 +03:00
Merge pull request #299 from acelaya/feature/repository-tests
Improved repository tests
This commit is contained in:
commit
6ba4d8e947
7 changed files with 34 additions and 5 deletions
|
@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org).
|
||||||
|
|
||||||
## [Unreleased]
|
## 1.15.0 - 2018-12-02
|
||||||
|
|
||||||
#### Added
|
#### Added
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
|
||||||
* [#267](https://github.com/shlinkio/shlink/issues/267) API responses and the CLI interface is no longer translated and uses english always. Only not found error templates are still translated.
|
* [#267](https://github.com/shlinkio/shlink/issues/267) API responses and the CLI interface is no longer translated and uses english always. Only not found error templates are still translated.
|
||||||
* [#289](https://github.com/shlinkio/shlink/issues/289) Extracted coding standard rules to a separated package.
|
* [#289](https://github.com/shlinkio/shlink/issues/289) Extracted coding standard rules to a separated package.
|
||||||
|
* [#273](https://github.com/shlinkio/shlink/issues/273) Improved code coverage in repository classes.
|
||||||
|
|
||||||
#### Deprecated
|
#### Deprecated
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
|
|
||||||
"test:pretty": [
|
"test:pretty": [
|
||||||
"@test",
|
"@test",
|
||||||
"phpcov merge build --html build/html"
|
"phpdbg -qrr vendor/bin/phpcov merge build --html build/html"
|
||||||
],
|
],
|
||||||
"test:unit:pretty": "phpdbg -qrr vendor/bin/phpunit --coverage-html build/coverage --order-by=random",
|
"test:unit:pretty": "phpdbg -qrr vendor/bin/phpunit --coverage-html build/coverage --order-by=random",
|
||||||
|
|
||||||
|
|
7
indocker
7
indocker
|
@ -1,2 +1,9 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Run docker containers if they are not up yet
|
||||||
|
if [[ $(docker ps | grep shlink_swoole) ]]; then :
|
||||||
|
else
|
||||||
|
docker-compose up -d
|
||||||
|
fi
|
||||||
|
|
||||||
docker exec -it shlink_swoole /bin/sh -c "$*"
|
docker exec -it shlink_swoole /bin/sh -c "$*"
|
||||||
|
|
|
@ -14,7 +14,7 @@ class TagRepository extends EntityRepository implements TagRepositoryInterface
|
||||||
* @param array $names
|
* @param array $names
|
||||||
* @return int The number of affected entries
|
* @return int The number of affected entries
|
||||||
*/
|
*/
|
||||||
public function deleteByName(array $names)
|
public function deleteByName(array $names): int
|
||||||
{
|
{
|
||||||
if (empty($names)) {
|
if (empty($names)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -13,5 +13,5 @@ interface TagRepositoryInterface extends ObjectRepository
|
||||||
* @param array $names
|
* @param array $names
|
||||||
* @return int The number of affected entries
|
* @return int The number of affected entries
|
||||||
*/
|
*/
|
||||||
public function deleteByName(array $names);
|
public function deleteByName(array $names): int;
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,7 +92,10 @@ class ShortUrlRepositoryTest extends DatabaseTestCase
|
||||||
$this->getEntityManager()->persist($foo);
|
$this->getEntityManager()->persist($foo);
|
||||||
|
|
||||||
$bar = new ShortUrl('bar');
|
$bar = new ShortUrl('bar');
|
||||||
$bar->setShortCode('bar_very_long_text');
|
$visit = new Visit($bar, Visitor::emptyInstance());
|
||||||
|
$this->getEntityManager()->persist($visit);
|
||||||
|
$bar->setShortCode('bar_very_long_text')
|
||||||
|
->setVisits(new ArrayCollection([$visit]));
|
||||||
$this->getEntityManager()->persist($bar);
|
$this->getEntityManager()->persist($bar);
|
||||||
|
|
||||||
$foo2 = new ShortUrl('foo_2');
|
$foo2 = new ShortUrl('foo_2');
|
||||||
|
@ -104,6 +107,22 @@ class ShortUrlRepositoryTest extends DatabaseTestCase
|
||||||
$result = $this->repo->findList(null, null, 'foo', ['bar']);
|
$result = $this->repo->findList(null, null, 'foo', ['bar']);
|
||||||
$this->assertCount(1, $result);
|
$this->assertCount(1, $result);
|
||||||
$this->assertSame($foo, $result[0]);
|
$this->assertSame($foo, $result[0]);
|
||||||
|
|
||||||
|
$result = $this->repo->findList();
|
||||||
|
$this->assertCount(3, $result);
|
||||||
|
|
||||||
|
$result = $this->repo->findList(2);
|
||||||
|
$this->assertCount(2, $result);
|
||||||
|
|
||||||
|
$result = $this->repo->findList(2, 1);
|
||||||
|
$this->assertCount(2, $result);
|
||||||
|
|
||||||
|
$result = $this->repo->findList(2, 2);
|
||||||
|
$this->assertCount(1, $result);
|
||||||
|
|
||||||
|
$result = $this->repo->findList(null, null, null, [], ['visits' => 'DESC']);
|
||||||
|
$this->assertCount(3, $result);
|
||||||
|
$this->assertSame($bar, $result[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -82,6 +82,8 @@ class VisitRepositoryTest extends DatabaseTestCase
|
||||||
$this->assertCount(4, $this->repo->findVisitsByShortCode($shortUrl->getShortCode(), new DateRange(
|
$this->assertCount(4, $this->repo->findVisitsByShortCode($shortUrl->getShortCode(), new DateRange(
|
||||||
Chronos::parse('2016-01-03')
|
Chronos::parse('2016-01-03')
|
||||||
)));
|
)));
|
||||||
|
$this->assertCount(3, $this->repo->findVisitsByShortCode($shortUrl->getShortCode(), null, 3, 2));
|
||||||
|
$this->assertCount(2, $this->repo->findVisitsByShortCode($shortUrl->getShortCode(), null, 5, 4));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue