-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AnimateCSS integration in tests suite #3206
Conversation
Codecov Report
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. @@ Coverage Diff @@
## develop #3206 +/- ##
===========================================
- Coverage 25.21% 24.95% -0.26%
===========================================
Files 54 54
Lines 11925 11925
===========================================
- Hits 3007 2976 -31
- Misses 8918 8949 +31 |
On the other hand I don't know how to do the test with an animation that doesn't exist. ie:
@rejas: This can be useful too, in case you want to push this PR into develop |
I think we should have these tests. First of all sorry for missing test documentation, maybe I do an extra PR for this ... We have 3 test projects
So I moved your test to /* AnimateCSS integration Test with compliments module
*
* By bugsounet https://github.com/bugsounet
* 09/2023
* MIT Licensed.
*/
const helpers = require("./helpers/global-setup.js");
describe("AnimateCSS integration Test", () => {
// define config file for testing
let testConfigFile = "tests/configs/modules/compliments/compliments_animateCSS.js";
/**
* move similar tests in function doTest
* @param {string} [animationIn] animation in name of AnimateCSS to test.
* @param {string} [animationOut] animation out name of AnimateCSS to test.
*/
const doTest = async (animationIn, animationOut) => {
await helpers.getDocument();
let elem = await helpers.waitForElement(`.compliments`);
expect(elem).not.toBe(null);
let styles = window.getComputedStyle(elem);
if (animationIn && animationIn !== "") {
expect(styles._values["animation-name"]).toBe(animationIn);
} else {
expect(styles._values["animation-name"]).toBe(undefined);
}
if (animationOut && animationOut !== "") {
elem = await helpers.waitForElement(`.compliments.animate__animated.animate__${animationOut}`);
expect(elem).not.toBe(null);
styles = window.getComputedStyle(elem);
expect(styles._values["animation-name"]).toBe(animationOut);
} else {
expect(styles._values["animation-name"]).toBe(undefined);
}
};
afterEach(async () => {
await helpers.stopApplication();
});
describe("Animated In and Out Test", () => {
it("with flipInX and flipOutX animation", async () => {
await helpers.startApplication(testConfigFile);
await doTest("flipInX", "flipOutX");
});
});
describe("no Animation in test", () => {
it("without animation", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_anytime.js");
await doTest();
});
});
}); We need an additional line in global.window = dom.window; to get Feel free to use/improve ... |
Thanks for explain what's this 3 projects ;) I will take a look for In all case, I will check your code tomorrow A simple copy and paste without understanding anything is useless (for me) |
It's better like this ? I added some tests which should not return any animation |
Someone can explain me, I really don't understand what's coverage / hits / misses Thanks again and sorry for my (bad) knowledge |
Coverage is the percentage of code lines that are covered by tests, hits are the lines in absolute numbers, misses the lines that are not covered. |
may I don't understand these reports but I would expect an increase of coverage as this PR only adds tests ... |
Not sure if its configured correctly and checks against the master branch to compare the numbers |
don't know anything about codecov setup but I ignore those reports because the content is always garbage. From my side we can remove codecov ... |
## [2.25.0] - 2023-10-01 Thanks to: @bugsounet, @dgoth, @dependabot, @kenzal, @Knapoc, @KristjanESPERANTO, @martingron, @NolanKingdon, @Paranoid93, @TeddyStarinvest and @Ybbet. Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not all) of the work on this release as project collaborators. This version would not be there without their effort. Thank you guys! You are awesome! >⚠️ This release needs nodejs version >= `v18`, older releases have reached end of life and will not work! ### Added - Added UV Index support to OpenWeatherMap - Added 'hideDuplicates' flag to the calendar module - Added `allowOverrideNotification` to weather module to enable sending current weather objects with the `CURRENT_WEATHER_OVERRIDE` notification to supplement/replace the current weather displayed - Added optional AnimateCSS animate for `hide()`, `show()`, `updateDom()` - Added AnimateIn and animateOut in module config definition - Apply AnimateIn rules on the first start - Added automatic client page reload when server was restarted by setting `reloadAfterServerRestart: true` in `config.js`, per default `false` (#3105) - Added eventClass option for customEvents on the default calendar - Added AnimateCSS integration in tests suite (#3206) - Added npm dependabot [Reserved to developer] (#3210) - Added improved logging for calendar (#3110) ### Removed - **Breaking Change**: Removed `digest` authentication method from calendar module (which was already broken since release `2.15.0`) ### Updated - Update roboto fonts to version v5 - Update issue template - Update dev/dependencies incl. electron to v26 - Replace pretty-quick by lint-staged (<prettier/pretty-quick#164>) - Update engine node >=18. v16 reached it's end of life. (#3170) - Update typescript definition for modules - Cleaned up nunjuck templates - Replace `node-fetch` with internal fetch (#2649) and remove `digest-fetch` - Update the French translation according to the English file. - Update dependabot incl. vendor/fonts (monthly check) - Renew `package-lock.json` for release ### Fixed - Fix engine check on npm install (#3135) - Fix undefined formatTime method in clock module (#3143) - Fix clientonly startup fails after async added (#3151) - Fix electron width/heigth when using xrandr under bullseye - Fix time issue with certain recurring events in calendar module - Fix ipWhiteList test (#3179) - Fix newsfeed: Convert HTML entities, codes and tag in description (#3191) - Respect width/height (no fullscreen) if set in electronOptions (together with `fullscreen: false`) in `config.js` (#3174) - Fix: AnimateCSS merge hide() and show() animated css class when we do multiple call - Fix `Uncaught SyntaxError: Identifier 'getCorsUrl' has already been declared (at utils.js:1:1)` when using `clock` and `weather` module (#3204) - Fix overriding `config.js` when running tests (#3201) - Fix issue in weathergov provider with probability of precipitation not showing up on hourly or daily forecast --------- Signed-off-by: naveen <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Karsten Hassel <[email protected]> Co-authored-by: Malte Hallström <[email protected]> Co-authored-by: Veeck <[email protected]> Co-authored-by: veeck <[email protected]> Co-authored-by: dWoolridge <[email protected]> Co-authored-by: Johan <[email protected]> Co-authored-by: Dario Mratovich <[email protected]> Co-authored-by: Dario Mratovich <[email protected]> Co-authored-by: Magnus <[email protected]> Co-authored-by: Naveen <[email protected]> Co-authored-by: buxxi <[email protected]> Co-authored-by: Thomas Hirschberger <[email protected]> Co-authored-by: Kristjan ESPERANTO <[email protected]> Co-authored-by: Andrés Vanegas Jiménez <[email protected]> Co-authored-by: Dave Child <[email protected]> Co-authored-by: grenagit <[email protected]> Co-authored-by: Grena <[email protected]> Co-authored-by: Magnus Marthinsen <[email protected]> Co-authored-by: Patrick <[email protected]> Co-authored-by: Piotr Rajnisz <[email protected]> Co-authored-by: Suthep Yonphimai <[email protected]> Co-authored-by: CarJem Generations (Carter Wallace) <[email protected]> Co-authored-by: Nicholas Fogal <[email protected]> Co-authored-by: JakeBinney <[email protected]> Co-authored-by: OWL4C <[email protected]> Co-authored-by: Oscar Björkman <[email protected]> Co-authored-by: Ismar Slomic <[email protected]> Co-authored-by: Jørgen Veum-Wahlberg <[email protected]> Co-authored-by: Eddie Hung <[email protected]> Co-authored-by: Bugsounet - Cédric <[email protected]> Co-authored-by: bugsounet <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Knapoc <[email protected]> Co-authored-by: sam detweiler <[email protected]> Co-authored-by: veeck <[email protected]> Co-authored-by: Paranoid93 <[email protected]> Co-authored-by: NolanKingdon <[email protected]> Co-authored-by: J. Kenzal Hunter <[email protected]> Co-authored-by: Teddy <[email protected]> Co-authored-by: TeddyStarinvest <[email protected]> Co-authored-by: martingron <[email protected]> Co-authored-by: dgoth <[email protected]>
Hi,
Just because, i never try to code a test
I purpose to supervise this work
After, perhaps it is not necessary to integrate it in develop branch.
It's up to you to decide