diff --git a/.gitignore b/.gitignore index 9d87b27..5be27ae 100644 --- a/.gitignore +++ b/.gitignore @@ -1,397 +1,71 @@ -# Created by https://www.gitignore.io/api/dart,swift,xcode,kotlin,android,flutter,intellij,androidstudio,visualstudiocode - -### Android ### -# Built application files -*.apk -*.ap_ - -# Files for the ART/Dalvik VM -*.dex - -# Java class files +# Miscellaneous *.class +*.lock +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ -# Generated files -bin/ -gen/ -out/ +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ -# Gradle files -.gradle/ +# Visual Studio Code related +.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.packages +.pub-cache/ +.pub/ build/ -# Local configuration file (sdk path, etc) -local.properties - -# Proguard folder generated by Eclipse -proguard/ - -# Log Files -*.log - -# Android Studio Navigation editor temp files -.navigation/ - -# Android Studio captures folder -captures/ - -# IntelliJ -*.iml -.idea/workspace.xml -.idea/tasks.xml -.idea/gradle.xml -.idea/assetWizardSettings.xml -.idea/dictionaries -.idea/libraries -.idea/caches - -# Keystore files -# Uncomment the following line if you do not want to check your keystore files in. -#*.jks - -# External native build folder generated in Android Studio 2.2 and later -.externalNativeBuild - -# Google Services (e.g. APIs or Firebase) -google-services.json - -# Freeline -freeline.py -freeline/ -freeline_project_description.json - -# fastlane -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots -fastlane/test_output -fastlane/readme.md - -### Android Patch ### -gen-external-apklibs - -### AndroidStudio ### -# Covers files to be ignored for android development using Android Studio. - -# Built application files - -# Files for the ART/Dalvik VM - -# Java class files - -# Generated files - -# Gradle files -.gradle - -# Signing files -.signing/ - -# Local configuration file (sdk path, etc) - -# Proguard folder generated by Eclipse - -# Log Files - -# Android Studio -/*/build/ -/*/local.properties -/*/out -/*/*/build -/*/*/production -*.ipr -*~ -*.swp - -# Android Patch - -# External native build folder generated in Android Studio 2.2 and later - -# NDK -obj/ - -# IntelliJ IDEA -*.iws -/out/ - -# User-specific configurations -.idea/caches/ -.idea/libraries/ -.idea/shelf/ -.idea/.name -.idea/compiler.xml -.idea/copyright/profiles_settings.xml -.idea/encodings.xml -.idea/misc.xml -.idea/modules.xml -.idea/scopes/scope_settings.xml -.idea/vcs.xml -.idea/jsLibraryMappings.xml -.idea/datasources.xml -.idea/dataSources.ids -.idea/sqlDataSources.xml -.idea/dynamic.xml -.idea/uiDesigner.xml - -# OS-specific files -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db - -# Legacy Eclipse project files -.classpath -.project -.cproject -.settings/ - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.war -*.ear - -# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml) -hs_err_pid* - -## Plugin-specific files: - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Mongo Explorer plugin -.idea/mongoSettings.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -### AndroidStudio Patch ### - -!android/gradle/wrapper/gradle-wrapper.jar - -### Dart ### -# See https://www.dartlang.org/guides/libraries/private-files - -# Files and directories created by pub -.dart_tool/ -.packages -# If you're building an application, you may want to check-in your pubspec.lock -pubspec.lock - -# Directory created by dartdoc -# If you don't generate documentation locally you can remove this line. -doc/api/ - -# Avoid committing generated Javascript files: -*.dart.js -*.info.json # Produced by the --dump-info flag. -*.js # When generated by dart2js. Don't specify *.js if your - # project includes source files written in JavaScript. -*.js_ -*.js.deps -*.js.map - -### Flutter ### -.flutter-plugins - -### Intellij ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/modules.xml -# .idea/*.iml -# .idea/modules - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format - -# IntelliJ - -# mpeltonen/sbt-idea plugin - -# JIRA plugin - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) - -# Editor-based Rest Client -.idea/httpRequests - -### Intellij Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -.idea/sonarlint - -### Kotlin ### -# Compiled class file - -# Log file - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) - -# Package Files # -*.jar -*.nar -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml - -### Swift ### -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -DerivedData/ - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xccheckout -*.xcscmblueprint - -## Obj-C/Swift specific -*.hmap -*.ipa -*.dSYM.zip -*.dSYM - -## Playgrounds -timeline.xctimeline -playground.xcworkspace - -# Swift Package Manager -# -# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. -# Packages/ -# Package.pins -# Package.resolved -.build/ - -# CocoaPods -# -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control -# -# Pods/ -# -# Add this line if you want to avoid checking in source code from the Xcode workspace -# *.xcworkspace - -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build - -# fastlane -# -# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the -# screenshots whenever they are needed. -# For more information about the recommended setup visit: -# https://docs.fastlane.tools/best-practices/source-control/#source-control - -fastlane/screenshots/**/*.png - -# Code Injection -# -# After new code Injection tools there's a generated folder /iOSInjectionProject -# https://github.com/johnno1962/injectionforxcode - -iOSInjectionProject/ - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - -### Xcode ### -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## User settings - -## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) - -## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) - -### Xcode Patch ### -*.xcodeproj/* -!*.xcodeproj/project.pbxproj -!*.xcodeproj/xcshareddata/ -!*.xcworkspace/contents.xcworkspacedata -/*.gcno - - -# End of https://www.gitignore.io/api/dart,swift,xcode,kotlin,android,flutter,intellij,androidstudio,visualstudiocode - +# Android related +**/android/**/gradle-wrapper.jar +**/android/.gradle +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java + +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..681101e --- /dev/null +++ b/Makefile @@ -0,0 +1,30 @@ +GIT_LAST_COMMIT := $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//') + +ifneq ($(DRONE_TAG),) + VERSION ?= $(subst v,,$(DRONE_TAG))-$(GIT_LAST_COMMIT) +else + ifneq ($(DRONE_BRANCH),) + VERSION ?= $(subst release/v,,$(DRONE_BRANCH))-$(GIT_LAST_COMMIT) + else + VERSION ?= master-$(GIT_LAST_COMMIT) + endif +endif + +.PHONY: test +test: + flutter test + +.PHONY: build-all +build-all: build-release build-debug build-profile + +.PHONY: build-release +build-release: + flutter build apk --release --build-name=$(VERSION) + +.PHONY: build-debug +build-debug: + flutter build apk --debug --build-name=$(VERSION) + +.PHONY: build-profile +build-profile: + flutter build apk --profile --build-name=$(VERSION) \ No newline at end of file diff --git a/README.md b/README.md index 9e2cba1..42d99af 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ -# FlutteringVikunja +# Vikunja Cross-Plattform app -Vikunja as Flutter cross platform app \ No newline at end of file +[![Build Status](https://drone.kolaente.de/api/badges/vikunja/app/status.svg)](https://drone.kolaente.de/vikunja/app) +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) +[![Download](https://img.shields.io/badge/download-v0.1-brightgreen.svg)](https://storage.kolaente.de/minio/vikunja-app/) + +Vikunja as Flutter cross platform app. \ No newline at end of file diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 66b2447..514e512 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -13,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - fluttering_vikunja + vikunja_app CFBundlePackageType APPL CFBundleShortVersionString diff --git a/lib/api/list_implementation.dart b/lib/api/list_implementation.dart index 9742687..eff3121 100644 --- a/lib/api/list_implementation.dart +++ b/lib/api/list_implementation.dart @@ -1,9 +1,9 @@ import 'dart:async'; -import 'package:fluttering_vikunja/api/client.dart'; -import 'package:fluttering_vikunja/api/service.dart'; -import 'package:fluttering_vikunja/models/task.dart'; -import 'package:fluttering_vikunja/service/services.dart'; +import 'package:vikunja_app/api/client.dart'; +import 'package:vikunja_app/api/service.dart'; +import 'package:vikunja_app/models/task.dart'; +import 'package:vikunja_app/service/services.dart'; class ListAPIService extends APIService implements ListService { ListAPIService(Client client) : super(client); diff --git a/lib/api/namespace_implementation.dart b/lib/api/namespace_implementation.dart index 72e7899..b5d5508 100644 --- a/lib/api/namespace_implementation.dart +++ b/lib/api/namespace_implementation.dart @@ -1,9 +1,9 @@ import 'dart:async'; -import 'package:fluttering_vikunja/api/client.dart'; -import 'package:fluttering_vikunja/api/service.dart'; -import 'package:fluttering_vikunja/models/namespace.dart'; -import 'package:fluttering_vikunja/service/services.dart'; +import 'package:vikunja_app/api/client.dart'; +import 'package:vikunja_app/api/service.dart'; +import 'package:vikunja_app/models/namespace.dart'; +import 'package:vikunja_app/service/services.dart'; class NamespaceAPIService extends APIService implements NamespaceService { NamespaceAPIService(Client client) : super(client); diff --git a/lib/api/service.dart b/lib/api/service.dart index c65c863..c7d837e 100644 --- a/lib/api/service.dart +++ b/lib/api/service.dart @@ -1,4 +1,4 @@ -import 'package:fluttering_vikunja/api/client.dart'; +import 'package:vikunja_app/api/client.dart'; import 'package:meta/meta.dart'; class APIService { diff --git a/lib/api/task_implementation.dart b/lib/api/task_implementation.dart index d0861c5..1d85b1d 100644 --- a/lib/api/task_implementation.dart +++ b/lib/api/task_implementation.dart @@ -1,9 +1,9 @@ import 'dart:async'; -import 'package:fluttering_vikunja/api/client.dart'; -import 'package:fluttering_vikunja/api/service.dart'; -import 'package:fluttering_vikunja/models/task.dart'; -import 'package:fluttering_vikunja/service/services.dart'; +import 'package:vikunja_app/api/client.dart'; +import 'package:vikunja_app/api/service.dart'; +import 'package:vikunja_app/models/task.dart'; +import 'package:vikunja_app/service/services.dart'; class TaskAPIService extends APIService implements TaskService { TaskAPIService(Client client) : super(client); diff --git a/lib/api/user_implementation.dart b/lib/api/user_implementation.dart index a8789c3..61f3a99 100644 --- a/lib/api/user_implementation.dart +++ b/lib/api/user_implementation.dart @@ -1,9 +1,9 @@ import 'dart:async'; -import 'package:fluttering_vikunja/api/client.dart'; -import 'package:fluttering_vikunja/api/service.dart'; -import 'package:fluttering_vikunja/models/user.dart'; -import 'package:fluttering_vikunja/service/services.dart'; +import 'package:vikunja_app/api/client.dart'; +import 'package:vikunja_app/api/service.dart'; +import 'package:vikunja_app/models/user.dart'; +import 'package:vikunja_app/service/services.dart'; class UserAPIService extends APIService implements UserService { UserAPIService(Client client) : super(client); diff --git a/lib/fragments/namespace.dart b/lib/fragments/namespace.dart index 78ff810..e7b0f1b 100644 --- a/lib/fragments/namespace.dart +++ b/lib/fragments/namespace.dart @@ -2,10 +2,10 @@ import 'dart:async'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:fluttering_vikunja/global.dart'; -import 'package:fluttering_vikunja/models/namespace.dart'; -import 'package:fluttering_vikunja/models/task.dart'; -import 'package:fluttering_vikunja/pages/list_page.dart'; +import 'package:vikunja_app/global.dart'; +import 'package:vikunja_app/models/namespace.dart'; +import 'package:vikunja_app/models/task.dart'; +import 'package:vikunja_app/pages/list_page.dart'; class NamespaceFragment extends StatefulWidget { final Namespace namespace; diff --git a/lib/global.dart b/lib/global.dart index 8cf2a90..f75de00 100644 --- a/lib/global.dart +++ b/lib/global.dart @@ -1,14 +1,14 @@ import 'package:flutter/material.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; -import 'package:fluttering_vikunja/api/client.dart'; -import 'package:fluttering_vikunja/api/list_implementation.dart'; -import 'package:fluttering_vikunja/api/namespace_implementation.dart'; -import 'package:fluttering_vikunja/api/task_implementation.dart'; -import 'package:fluttering_vikunja/api/user_implementation.dart'; -import 'package:fluttering_vikunja/managers/user.dart'; -import 'package:fluttering_vikunja/models/user.dart'; -import 'package:fluttering_vikunja/service/mocked_services.dart'; -import 'package:fluttering_vikunja/service/services.dart'; +import 'package:vikunja_app/api/client.dart'; +import 'package:vikunja_app/api/list_implementation.dart'; +import 'package:vikunja_app/api/namespace_implementation.dart'; +import 'package:vikunja_app/api/task_implementation.dart'; +import 'package:vikunja_app/api/user_implementation.dart'; +import 'package:vikunja_app/managers/user.dart'; +import 'package:vikunja_app/models/user.dart'; +import 'package:vikunja_app/service/mocked_services.dart'; +import 'package:vikunja_app/service/services.dart'; class VikunjaGlobal extends StatefulWidget { final Widget child; diff --git a/lib/main.dart b/lib/main.dart index 3b79801..f343c10 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,10 +1,10 @@ import 'dart:async'; import 'package:flutter/material.dart'; -import 'package:fluttering_vikunja/global.dart'; -import 'package:fluttering_vikunja/pages/home_page.dart'; -import 'package:fluttering_vikunja/pages/login_page.dart'; -import 'package:fluttering_vikunja/style.dart'; +import 'package:vikunja_app/global.dart'; +import 'package:vikunja_app/pages/home_page.dart'; +import 'package:vikunja_app/pages/login_page.dart'; +import 'package:vikunja_app/style.dart'; void main() => runApp(VikunjaGlobal( child: new VikunjaApp(home: HomePage()), diff --git a/lib/models/namespace.dart b/lib/models/namespace.dart index 34bafdd..700d2d7 100644 --- a/lib/models/namespace.dart +++ b/lib/models/namespace.dart @@ -1,4 +1,4 @@ -import 'package:fluttering_vikunja/models/user.dart'; +import 'package:vikunja_app/models/user.dart'; import 'package:meta/meta.dart'; class Namespace { diff --git a/lib/models/task.dart b/lib/models/task.dart index 63c2fc9..d011603 100644 --- a/lib/models/task.dart +++ b/lib/models/task.dart @@ -1,4 +1,4 @@ -import 'package:fluttering_vikunja/models/user.dart'; +import 'package:vikunja_app/models/user.dart'; import 'package:meta/meta.dart'; class Task { diff --git a/lib/pages/home_page.dart b/lib/pages/home_page.dart index 61efb38..98e74bc 100644 --- a/lib/pages/home_page.dart +++ b/lib/pages/home_page.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; -import 'package:fluttering_vikunja/components/GravatarImage.dart'; -import 'package:fluttering_vikunja/fragments/namespace.dart'; -import 'package:fluttering_vikunja/fragments/placeholder.dart'; -import 'package:fluttering_vikunja/global.dart'; -import 'package:fluttering_vikunja/models/namespace.dart'; -import 'package:fluttering_vikunja/models/task.dart'; -import 'package:fluttering_vikunja/models/user.dart'; +import 'package:vikunja_app/components/GravatarImage.dart'; +import 'package:vikunja_app/fragments/namespace.dart'; +import 'package:vikunja_app/fragments/placeholder.dart'; +import 'package:vikunja_app/global.dart'; +import 'package:vikunja_app/models/namespace.dart'; +import 'package:vikunja_app/models/task.dart'; +import 'package:vikunja_app/models/user.dart'; class HomePage extends StatefulWidget { @override diff --git a/lib/pages/list_page.dart b/lib/pages/list_page.dart index 3aa3e88..50661b6 100644 --- a/lib/pages/list_page.dart +++ b/lib/pages/list_page.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:fluttering_vikunja/global.dart'; -import 'package:fluttering_vikunja/models/task.dart'; +import 'package:vikunja_app/global.dart'; +import 'package:vikunja_app/models/task.dart'; class ListPage extends StatefulWidget { final TaskList taskList; diff --git a/lib/pages/login_page.dart b/lib/pages/login_page.dart index 232fa7c..88bbc4a 100644 --- a/lib/pages/login_page.dart +++ b/lib/pages/login_page.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:fluttering_vikunja/global.dart'; -import 'package:fluttering_vikunja/main.dart'; +import 'package:vikunja_app/global.dart'; +import 'package:vikunja_app/main.dart'; class LoginPage extends StatefulWidget { @override diff --git a/lib/service/mocked_services.dart b/lib/service/mocked_services.dart index fb6dc5d..01e914a 100644 --- a/lib/service/mocked_services.dart +++ b/lib/service/mocked_services.dart @@ -1,9 +1,9 @@ import 'dart:async'; -import 'package:fluttering_vikunja/models/namespace.dart'; -import 'package:fluttering_vikunja/models/task.dart'; -import 'package:fluttering_vikunja/models/user.dart'; -import 'package:fluttering_vikunja/service/services.dart'; +import 'package:vikunja_app/models/namespace.dart'; +import 'package:vikunja_app/models/task.dart'; +import 'package:vikunja_app/models/user.dart'; +import 'package:vikunja_app/service/services.dart'; // Data for mocked services var _users = {1: User(1, 'test@testuser.org', 'test1')}; diff --git a/lib/service/services.dart b/lib/service/services.dart index 9eb5f0c..60363c1 100644 --- a/lib/service/services.dart +++ b/lib/service/services.dart @@ -1,8 +1,8 @@ import 'dart:async'; -import 'package:fluttering_vikunja/models/namespace.dart'; -import 'package:fluttering_vikunja/models/task.dart'; -import 'package:fluttering_vikunja/models/user.dart'; +import 'package:vikunja_app/models/namespace.dart'; +import 'package:vikunja_app/models/task.dart'; +import 'package:vikunja_app/models/user.dart'; abstract class NamespaceService { Future> getAll(); diff --git a/pubspec.yaml b/pubspec.yaml index 586f860..51a8d31 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,12 +1,6 @@ -name: fluttering_vikunja +name: vikunja_app description: Vikunja as Flutter cross platform app -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# Read more about versioning at semver.org. version: 1.0.0+1 environment: diff --git a/test/widget_test.dart b/test/widget_test.dart index 1dac21a..687b69b 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -1,29 +1,3 @@ -// This is a basic Flutter widget test. -// To perform an interaction with a widget in your test, use the WidgetTester utility that Flutter -// provides. 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:fluttering_vikunja/pages/home_page.dart'; - void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(new HomePage()); - - // 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); - }); + // Tests go here. }