Skip to content

Commit a6c6a99

Browse files
committed
updates adding tests in and updating readme/composer file
1 parent 5270c0d commit a6c6a99

7 files changed

Lines changed: 1070 additions & 22 deletions

File tree

.github/workflows/tests.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
branches: [ master ]
8+
9+
jobs:
10+
tests:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
php: ['8.2', '8.3', '8.4']
16+
17+
name: PHP ${{ matrix.php }}
18+
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
- name: Setup PHP
24+
uses: shivammathur/setup-php@v2
25+
with:
26+
php-version: ${{ matrix.php }}
27+
extensions: soap
28+
coverage: xdebug
29+
30+
- name: Install dependencies
31+
run: composer install --prefer-dist --no-interaction --no-progress
32+
33+
- name: Run tests
34+
run: vendor/bin/phpunit --verbose

README.md

Lines changed: 38 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,51 @@
1-
# Fantastico Licensing Class
1+
# Fantastico Licensing Plugin for MyAdmin
22

3-
Fantastico Licensing Class
3+
[![Tests](https://github.com/detain/myadmin-fantastico-licensing/actions/workflows/tests.yml/badge.svg)](https://github.com/detain/myadmin-fantastico-licensing/actions/workflows/tests.yml)
4+
[![Latest Stable Version](https://poser.pugx.org/detain/myadmin-fantastico-licensing/version)](https://packagist.org/packages/detain/myadmin-fantastico-licensing)
5+
[![Total Downloads](https://poser.pugx.org/detain/myadmin-fantastico-licensing/downloads)](https://packagist.org/packages/detain/myadmin-fantastico-licensing)
6+
[![License](https://poser.pugx.org/detain/myadmin-fantastico-licensing/license)](https://packagist.org/packages/detain/myadmin-fantastico-licensing)
47

5-
## Build Status and Code Analysis
8+
A MyAdmin plugin that provides Fantastico licensing integration. Enables purchasing, activation, IP management, and administration of Fantastico server and VPS license types through the MyAdmin platform.
69

7-
Site | Status
8-
--------------|---------------------------
9-
![Travis-CI](http://i.is.cc/storage/GYd75qN.png "Travis-CI") | [![Build Status](https://travis-ci.org/detain/myadmin-fantastico-licensing.svg?branch=master)](https://travis-ci.org/detain/myadmin-fantastico-licensing)
10-
![CodeClimate](http://i.is.cc/storage/GYlageh.png "CodeClimate") | [![Code Climate](https://codeclimate.com/github/detain/myadmin-fantastico-licensing/badges/gpa.svg)](https://codeclimate.com/github/detain/myadmin-fantastico-licensing) [![Test Coverage](https://codeclimate.com/github/detain/myadmin-fantastico-licensing/badges/coverage.svg)](https://codeclimate.com/github/detain/myadmin-fantastico-licensing/coverage) [![Issue Count](https://codeclimate.com/github/detain/myadmin-fantastico-licensing/badges/issue_count.svg)](https://codeclimate.com/github/detain/myadmin-fantastico-licensing)
11-
![Scrutinizer](http://i.is.cc/storage/GYeUnux.png "Scrutinizer") | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/myadmin-plugins/fantastico-licensing/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/myadmin-plugins/fantastico-licensing/?branch=master) [![Code Coverage](https://scrutinizer-ci.com/g/myadmin-plugins/fantastico-licensing/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/myadmin-plugins/fantastico-licensing/?branch=master) [![Build Status](https://scrutinizer-ci.com/g/myadmin-plugins/fantastico-licensing/badges/build.png?b=master)](https://scrutinizer-ci.com/g/myadmin-plugins/fantastico-licensing/build-status/master)
12-
![Codacy](http://i.is.cc/storage/GYi66Cx.png "Codacy") | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/226251fc068f4fd5b4b4ef9a40011d06)](https://www.codacy.com/app/detain/myadmin-fantastico-licensing) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/25fa74eb74c947bf969602fcfe87e349)](https://www.codacy.com/app/detain/myadmin-fantastico-licensing?utm_source=github.com&utm_medium=referral&utm_content=detain/myadmin-fantastico-licensing&utm_campaign=Badge_Coverage)
13-
![Coveralls](http://i.is.cc/storage/GYjNSim.png "Coveralls") | [![Coverage Status](https://coveralls.io/repos/github/detain/db_abstraction/badge.svg?branch=master)](https://coveralls.io/github/detain/myadmin-fantastico-licensing?branch=master)
14-
![Packagist](http://i.is.cc/storage/GYacBEX.png "Packagist") | [![Latest Stable Version](https://poser.pugx.org/detain/myadmin-fantastico-licensing/version)](https://packagist.org/packages/detain/myadmin-fantastico-licensing) [![Total Downloads](https://poser.pugx.org/detain/myadmin-fantastico-licensing/downloads)](https://packagist.org/packages/detain/myadmin-fantastico-licensing) [![Latest Unstable Version](https://poser.pugx.org/detain/myadmin-fantastico-licensing/v/unstable)](//packagist.org/packages/detain/myadmin-fantastico-licensing) [![Monthly Downloads](https://poser.pugx.org/detain/myadmin-fantastico-licensing/d/monthly)](https://packagist.org/packages/detain/myadmin-fantastico-licensing) [![Daily Downloads](https://poser.pugx.org/detain/myadmin-fantastico-licensing/d/daily)](https://packagist.org/packages/detain/myadmin-fantastico-licensing) [![License](https://poser.pugx.org/detain/myadmin-fantastico-licensing/license)](https://packagist.org/packages/detain/myadmin-fantastico-licensing)
10+
## Features
1511

12+
- Sell Fantastico licenses for dedicated servers and VPS instances
13+
- Activate and reactivate licenses with automatic IP assignment
14+
- Change IP addresses on existing licenses
15+
- Reuse canceled or expired licenses for cost optimization
16+
- Admin interface for license management and reporting
17+
- Integration with Symfony EventDispatcher for hook-based architecture
1618

17-
## Installation
19+
## Requirements
20+
21+
- PHP >= 5.0
22+
- ext-soap
23+
- Symfony EventDispatcher ^5.0
24+
- detain/fantastico-licensing
1825

19-
Install with composer like
26+
## Installation
2027

2128
```sh
2229
composer require detain/myadmin-fantastico-licensing
2330
```
2431

25-
## License
32+
## Usage
33+
34+
The plugin registers event hooks automatically when loaded by the MyAdmin plugin system. It handles:
35+
36+
- `function.requirements` - Registers page and function requirements
37+
- `licenses.settings` - Provides admin settings for Fantastico credentials
38+
- `licenses.activate` / `licenses.reactivate` - Handles license activation
39+
- `licenses.change_ip` - Manages IP address changes
40+
- `ui.menu` - Adds admin menu entries
2641

27-
The Fantastico Licensing Class class is licensed under the LGPL-v2.1 license.
42+
## Running Tests
43+
44+
```sh
45+
composer install
46+
vendor/bin/phpunit
47+
```
48+
49+
## License
2850

51+
The Fantastico Licensing Plugin is licensed under the LGPL-2.1 license.

composer.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,18 @@
2424
"symfony/event-dispatcher": "^5.0@stable",
2525
"detain/myadmin-plugin-installer": "dev-master",
2626
"detain/fantastico-licensing": "*"
27-
},
27+
},
2828
"require-dev": {
29-
"phpunit/phpunit": "*",
30-
"phpunit/phpunit-mock-objects": "*",
31-
"vlucas/phpdotenv": "*",
32-
"codeclimate/php-test-reporter": "*",
33-
"satooshi/php-coveralls": "*",
34-
"codacy/coverage": "*"
29+
"phpunit/phpunit": "^9.6"
3530
},
3631
"autoload": {
3732
"psr-4": {
3833
"Detain\\MyAdminFantastico\\": "src/"
3934
}
35+
},
36+
"autoload-dev": {
37+
"psr-4": {
38+
"Detain\\MyAdminFantastico\\Tests\\": "tests/"
39+
}
4040
}
4141
}

phpunit.xml.dist

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<phpunit
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.6/phpunit.xsd"
5+
bootstrap="tests/bootstrap.php"
6+
cacheResultFile=".phpunit.cache/test-results"
7+
colors="true"
8+
executionOrder="depends,defects"
9+
forceCoversAnnotation="false"
10+
beStrictAboutCoversAnnotation="false"
11+
beStrictAboutOutputDuringTests="true"
12+
beStrictAboutTodoAnnotatedTests="true"
13+
failOnRisky="true"
14+
failOnWarning="true"
15+
verbose="true"
16+
>
17+
<testsuites>
18+
<testsuite name="default">
19+
<directory>tests</directory>
20+
</testsuite>
21+
</testsuites>
22+
23+
<coverage cacheDirectory=".phpunit.cache/code-coverage" processUncoveredFiles="true">
24+
<include>
25+
<directory suffix=".php">src</directory>
26+
</include>
27+
</coverage>
28+
</phpunit>

0 commit comments

Comments
 (0)