Add GameDetail UT 🚩
continuous-integration/drone/push Build is passing Details

UT_Drone
Emre KARTAL 2 years ago
parent fa5caf5d21
commit 7a81067dd7

@ -15,6 +15,14 @@ steps:
- cd ./Sources/bowlin_project/
- flutter build apk
- name: test
image: cirrusci/flutter:stable
commands:
- cd Sources/bowlin_project/
- flutter pub get
- flutter test
depends_on: [ app-build ]
# build CONTAINER for sonar on flutter IMAGE
- name: code-analysis
image: cirrusci/flutter:stable
@ -49,6 +57,7 @@ steps:
CODEFIRST_CLIENTDRONE_ENV_POSTGRES_PASSWORD:
from_secret: db_password
ADMINS: emrekartal,louisonparant,davidd_almeida,lucasdelanier,arthurvalin
- name: deploy-adminer
image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest
environment:

@ -2,7 +2,6 @@ import 'User.dart';
import 'Game.dart';
import 'IUserManager.dart';
import 'IGameManager.dart';
import 'Game.dart';
abstract class IManager {
late User _userCurrent;

@ -1,6 +1,22 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
_fe_analyzer_shared:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: "503361166f4a100e0d7eb7fb5a62c6f0322512f2bcb48d6922caf98f24b0ab90"
url: "https://pub.dev"
source: hosted
version: "56.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
sha256: "93fcd81a6716e69864516750590cf1e699420615046bda19100238aa7b429785"
url: "https://pub.dev"
source: hosted
version: "5.8.0"
archive:
dependency: transitive
description:
@ -81,6 +97,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.1.1"
coverage:
dependency: transitive
description:
name: coverage
sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097"
url: "https://pub.dev"
source: hosted
version: "1.6.3"
crypto:
dependency: transitive
description:
@ -152,6 +176,22 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
frontend_server_client:
dependency: transitive
description:
name: frontend_server_client
sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612"
url: "https://pub.dev"
source: hosted
version: "3.2.0"
glob:
dependency: transitive
description:
name: glob
sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c"
url: "https://pub.dev"
source: hosted
version: "2.1.1"
go_router:
dependency: "direct main"
description:
@ -176,6 +216,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.13.5"
http_multi_server:
dependency: transitive
description:
name: http_multi_server
sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
url: "https://pub.dev"
source: hosted
version: "3.2.1"
http_parser:
dependency: transitive
description:
@ -196,9 +244,18 @@ packages:
dependency: "direct main"
description:
name: intl
url: "https://pub.dartlang.org"
sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6
url: "https://pub.dev"
source: hosted
version: "0.18.0"
io:
dependency: transitive
description:
name: io
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
url: "https://pub.dev"
source: hosted
version: "1.0.4"
js:
dependency: transitive
description:
@ -255,6 +312,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.8.0"
mime:
dependency: transitive
description:
name: mime
sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
url: "https://pub.dev"
source: hosted
version: "1.0.4"
node_preamble:
dependency: transitive
description:
name: node_preamble
sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db"
url: "https://pub.dev"
source: hosted
version: "2.0.2"
package_config:
dependency: transitive
description:
name: package_config
sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
path:
dependency: transitive
description:
@ -343,6 +424,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.6.2"
pool:
dependency: transitive
description:
name: pool
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
url: "https://pub.dev"
source: hosted
version: "1.5.1"
process:
dependency: transitive
description:
@ -351,6 +440,46 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.2.4"
pub_semver:
dependency: transitive
description:
name: pub_semver
sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17"
url: "https://pub.dev"
source: hosted
version: "2.1.3"
shelf:
dependency: transitive
description:
name: shelf
sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c
url: "https://pub.dev"
source: hosted
version: "1.4.0"
shelf_packages_handler:
dependency: transitive
description:
name: shelf_packages_handler
sha256: aef74dc9195746a384843102142ab65b6a4735bb3beea791e63527b88cc83306
url: "https://pub.dev"
source: hosted
version: "3.0.1"
shelf_static:
dependency: transitive
description:
name: shelf_static
sha256: e792b76b96a36d4a41b819da593aff4bdd413576b3ba6150df5d8d9996d2e74c
url: "https://pub.dev"
source: hosted
version: "1.1.1"
shelf_web_socket:
dependency: transitive
description:
name: shelf_web_socket
sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8
url: "https://pub.dev"
source: hosted
version: "1.0.3"
simple_gradient_text:
dependency: "direct main"
description:
@ -364,6 +493,22 @@ packages:
description: flutter
source: sdk
version: "0.0.99"
source_map_stack_trace:
dependency: transitive
description:
name: source_map_stack_trace
sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae"
url: "https://pub.dev"
source: hosted
version: "2.1.1"
source_maps:
dependency: transitive
description:
name: source_maps
sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703"
url: "https://pub.dev"
source: hosted
version: "0.10.12"
source_span:
dependency: transitive
description:
@ -404,6 +549,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.2.1"
test:
dependency: "direct main"
description:
name: test
sha256: a5fcd2d25eeadbb6589e80198a47d6a464ba3e2049da473943b8af9797900c2d
url: "https://pub.dev"
source: hosted
version: "1.22.0"
test_api:
dependency: transitive
description:
@ -412,6 +565,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.4.16"
test_core:
dependency: transitive
description:
name: test_core
sha256: "0ef9755ec6d746951ba0aabe62f874b707690b5ede0fecc818b138fcc9b14888"
url: "https://pub.dev"
source: hosted
version: "0.4.20"
typed_data:
dependency: transitive
description:
@ -436,6 +597,38 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: e7fb6c2282f7631712b69c19d1bff82f3767eea33a2321c14fa59ad67ea391c7
url: "https://pub.dev"
source: hosted
version: "9.4.0"
watcher:
dependency: transitive
description:
name: watcher
sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
url: "https://pub.dev"
source: hosted
version: "1.0.2"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
sha256: ca49c0bc209c687b887f30527fb6a9d80040b072cc2990f34b9bec3e7663101b
url: "https://pub.dev"
source: hosted
version: "2.3.0"
webkit_inspection_protocol:
dependency: transitive
description:
name: webkit_inspection_protocol
sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
win32:
dependency: transitive
description:
@ -469,5 +662,5 @@ packages:
source: hosted
version: "3.1.1"
sdks:
dart: ">=2.18.2 <3.0.0"
dart: ">=2.19.0 <3.0.0"
flutter: ">=3.3.0"

@ -41,6 +41,7 @@ dependencies:
go_router: ^6.0.1
uuid: ^3.0.7
intl: ^0.18.0
test:
dev_dependencies:

@ -0,0 +1,69 @@
import 'package:test/test.dart';
import '../lib/model/GameDetail.dart';
import '../lib/model/Player.dart';
import '../lib/model/Round.dart';
void main() {
group('GameDetail', () {
List<Player> players = [
Player(1, "Player 1", "Avatar 1"),
Player(2, "Player 2", "Avatar 2"),
Player(3, "Player 3", "Avatar 3")
];
List<Round> rounds = [
Round(5, 2, 7, players[2]),
Round(7, null, 7, players[1]),
Round(3, 3, 6, players[0]),
Round(2, 1, 3, players[2]),
Round(5, 2, 7, players[1]),
Round(5, 1, 6, players[0])
];
test('GetPointByPlayerId - Existing player', () {
var gameDetail = GameDetail(
2,
DateTime.now().subtract(Duration(days: 2)),
players[1].id,
250,
true,
null,
players[1].id,
rounds,
players);
expect(gameDetail.getPointByPlayerId(players[0].id), 12);
});
test('GetPointByPlayerId - Non-existing player', () {
var gameDetail = GameDetail(
2,
DateTime.now().subtract(Duration(days: 2)),
players[1].id,
250,
true,
null,
players[1].id,
rounds,
players);
expect(() => gameDetail.getPointByPlayerId(4), throwsException);
});
test('GetRank', () {
var gameDetail = GameDetail(
2,
DateTime.now().subtract(Duration(days: 2)),
players[1].id,
250,
true,
null,
players[1].id,
rounds,
players);
var expectedRank = {2: 14, 1: 12, 3: 10};
expect(gameDetail.getRank(), equals(expectedRank));
});
});
}

@ -1,30 +0,0 @@
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility in the flutter_test package. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:bowl_in/main.dart';
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(const MyApp());
// Verify that our counter starts at 0.
expect(find.text('0'), findsOneWidget);
expect(find.text('1'), findsNothing);
// Tap the '+' icon and trigger a frame.
await tester.tap(find.byIcon(Icons.add));
await tester.pump();
// Verify that our counter has incremented.
expect(find.text('0'), findsNothing);
expect(find.text('1'), findsOneWidget);
});
}
Loading…
Cancel
Save