MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Test suite for MagicMirror²

    Scheduled Pinned Locked Moved Upcoming Features
    42 Posts 5 Posters 47.4k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R Offline
      roramirez Core Contributors @morozgrafix
      last edited by

      @morozgrafix Seem good sense going to a refactor of the structure.

      I think we can take two way acord you mentioned.

      1.- Include your test for clock module with new format for name and respective directories
      2.- Do it the refactor to all tests that remain.

      I really like see how you resolve the multiples instances configuration in a one tests file.

      Easy module development with MagicMirror Module Template

      morozgrafixM 1 Reply Last reply Reply Quote 0
      • morozgrafixM Offline
        morozgrafix Moderator @roramirez
        last edited by

        @roramirez cool thanks. I have it all ready on my fork. Will submit PR for review.

        1 Reply Last reply Reply Quote 0
        • Q Offline
          qistoph
          last edited by

          Two commits I’ve worked on for the testing.

          1. Check keys in the translation files. Produces errors currently, so I’ve added .skip.
            https://github.com/qistoph/MagicMirror/commit/123392c54934e49a397d586c1fb8dbcc4cc5d12b

          2. To prevent loading app.js from corrupting the Mocha test environment, I suggest to execute the app.js in a virtual environment. This can also serve as an example for future test cases where code needs to be executed in the global namespace.
            https://github.com/qistoph/MagicMirror/commit/cd8bee1371ffc6cce7b7bf44f85cd03705e4c1bd

          Any thoughts before I submit a PR?

          strawberry 3.141S R 2 Replies Last reply Reply Quote 1
          • strawberry 3.141S Offline
            strawberry 3.141 Project Sponsor Module Developer @qistoph
            last edited by

            @qistoph i like the idea of the sandbox

            is there a way to just warn instead of error for missing translation keys?

            Please create a github issue if you need help, so I can keep track

            Q 1 Reply Last reply Reply Quote 0
            • Q Offline
              qistoph @strawberry 3.141
              last edited by

              @strawberry-3.141
              How about this?
              https://github.com/qistoph/MagicMirror/commit/406ae4e8c37cbf7e31c89f5341d7715bacbcf0d2

              			try {
              				expect(fileKeys).to.deep.equal(baseKeys);
              			} catch(e) {
              				if (e instanceof chai.AssertionError) {
              					this.skip();
              				} else {
              					throw e;
              				}
              			}
              
              1 Reply Last reply Reply Quote 0
              • R Offline
                roramirez Core Contributors @qistoph
                last edited by

                @qistoph Nice work. Related with your first point there a discussion about translations of JSON file.
                https://github.com/MichMich/MagicMirror/pull/679

                Easy module development with MagicMirror Module Template

                1 Reply Last reply Reply Quote 0
                • R Offline
                  roramirez Core Contributors
                  last edited by

                  Hi Guys,

                  Today I’ve playing with test suite I something going me crazy

                  I create the follow test
                  https://github.com/roramirez/MagicMirror/commit/88f1f6bbd4fe6d7f3b9391993d207c7b9ebfb2e9

                  Two check on same test case. On my enviroment ever but ever give me fail

                  smirror :: ~/MagicMirror ‹without-modules-test*› » ./node_modules/mocha/bin/mocha tests/e2e/without_modules.js
                  
                  
                    Check configuration without modules
                      ✓ Show the message create file config (83ms)
                      1) Show the message create file config 2
                  
                  
                    1 passing (6s)
                    1 failing
                  
                    1) Check configuration without modules Show the message create file config 2:
                       Error: An element could not be located on the page using the given search parameters ("#module_2_helloworld .module-content").
                        at elements("#module_2_helloworld .module-content") - getText.js:18:17
                        at execute(, "isLoading", , "require") - api.js:350:19
                  

                  I pushed a sample for shared with you and these are passing on Travis
                  https://travis-ci.org/roramirez/MagicMirror/jobs/200521954

                  Anybody can give me some light?

                  Easy module development with MagicMirror Module Template

                  1 Reply Last reply Reply Quote 0
                  • Q Offline
                    qistoph
                    last edited by

                    Weird… don’t see anything wrong with your code and it also runs fine on my machine…

                    Probably not really helpful, though, sorry

                    R 1 Reply Last reply Reply Quote 0
                    • R Offline
                      roramirez Core Contributors @qistoph
                      last edited by

                      @qistoph I’ll test in other instance.

                      What S.O are you using?

                      Easy module development with MagicMirror Module Template

                      Q 1 Reply Last reply Reply Quote 0
                      • Q Offline
                        qistoph @roramirez
                        last edited by

                        @roramirez what do you mean by “S.O”?

                        R 1 Reply Last reply Reply Quote 0
                        • R Offline
                          roramirez Core Contributors @qistoph
                          last edited by

                          @qistoph Sorry, Spanish acronymous. I mean Operating System.

                          On the another hand. The same commit is passed in Travis on my personal forked but in the main Mich’s repository failed.

                          https://travis-ci.org/roramirez/MagicMirror/builds/200750569 (Pass)
                          https://travis-ci.org/MichMich/MagicMirror/builds/200750793 (Fail)

                          It’s so weird.

                          Easy module development with MagicMirror Module Template

                          Q 1 Reply Last reply Reply Quote 0
                          • Q Offline
                            qistoph @roramirez
                            last edited by

                            @roramirez my tests ran on Ubuntu.

                            The failed build you’re linking has timeouts. That’s the issue I added to the Trello board. We could increase the timeout a bit and see if it happens again in the next days.

                            Ask Mich to re-run the failed build, he should be able to click that option in Travis, being the owner of the project. See if that fails again. That resolved it for me before.

                            R 1 Reply Last reply Reply Quote 0
                            • R Offline
                              roramirez Core Contributors @qistoph
                              last edited by

                              @qistoph it’s pushed https://github.com/MichMich/MagicMirror/pull/716

                              Easy module development with MagicMirror Module Template

                              1 Reply Last reply Reply Quote 0
                              • R Offline
                                roramirez Core Contributors
                                last edited by

                                Hey guys,

                                I pushed up a small refactoring for tests.
                                https://github.com/MichMich/MagicMirror/pull/728

                                This is a improvement for create new tests without unnecessary repeat inside of code.

                                Something I wasnt think now is how can be integrate the case test created by @qistoph because this is set a app.path inside of test (It’s something I have not tried…yet)

                                https://github.com/MichMich/MagicMirror/blob/e62df3b3b18cc98b65656194fa5baa53b9110fbc/tests/e2e/dev_console.js#L37

                                Easy module development with MagicMirror Module Template

                                1 Reply Last reply Reply Quote 0
                                • R Offline
                                  roramirez Core Contributors
                                  last edited by

                                  A little update and I requests ideas and help

                                  Today I’m playing with a test for newsfeed module. Its not functional. I’m using the same MagicMirror as backend for response a feed (in the future can be good idea a fake server for testing purposes).

                                  The patch can you find on
                                  https://github.com/roramirez/MagicMirror/commit/db87f9e15b79827e947316c3ffba5b4ca49854b7

                                  The main case is the waiting the tests for module title and titles of news. There a delay around a 1 second after the “loading…” when is show in screen. Somebody have an idea to gets this test?

                                  Easy module development with MagicMirror Module Template

                                  R 1 Reply Last reply Reply Quote 0
                                  • R Offline
                                    roramirez Core Contributors @roramirez
                                    last edited by

                                    I fixed before mentioned https://github.com/roramirez/MagicMirror/commit/2a94ee55ccb8fa06f4d07c2a67307b5ed0a659a3

                                    :)

                                    Easy module development with MagicMirror Module Template

                                    1 Reply Last reply Reply Quote 0
                                    • R Offline
                                      roramirez Core Contributors
                                      last edited by

                                      The last build of today.

                                      0_1490719678643_Screenshot at 2017-03-28 13-42-01.png

                                      Easy module development with MagicMirror Module Template

                                      R 1 Reply Last reply Reply Quote 1
                                      • R Offline
                                        roramirez Core Contributors @roramirez
                                        last edited by

                                        I mention this here if someone can help

                                        If use moment-timezone for a test this fail

                                        • Fail in Travis: https://travis-ci.org/roramirez/MagicMirror/builds/220155902
                                        • Commit example: https://github.com/roramirez/MagicMirror/commit/05d7c9556e773bf2b941035953200ff327efb476

                                        Easy module development with MagicMirror Module Template

                                        1 Reply Last reply Reply Quote 0
                                        • R Offline
                                          roramirez Core Contributors
                                          last edited by

                                          Hi Guys, are you still alive?

                                          Sometimes the build failed, an example here
                                          https://travis-ci.org/MichMich/MagicMirror/jobs/227577643

                                          Someone have some idea how to fix this?

                                          cc @qistoph @strawberry-3-141 @morozgrafix

                                          Easy module development with MagicMirror Module Template

                                          Q 1 Reply Last reply Reply Quote 0
                                          • Q Offline
                                            qistoph @roramirez
                                            last edited by

                                            @roramirez sorry, haven’t had much time to spend on MagicMirror lately.

                                            My guess is that some of the tests take too long. Especially the ones actually starting MM and not just load a module.

                                            I imagine Travis runs the tests in some sort of container with multiple containers running on the same system. If there is some heavy load at the same time as the MM test is run this might slow down our test with a certain factor. Seeing the difference in the usual runtime between tests (couple of ms vs multiple seconds) makes me think some of our tests are on the heavier end. Having a multiple second test delayed by a factor, say, 2 makes it easily run 5 seconds. Hitting the 5 sec maximum (see log).

                                            Two possibilities I see to fix this:

                                            1. Reduce the runtime of long running tests
                                            2. Increase the allowed runtime before timeout

                                            Hopefully this helps.

                                            Best regards and thanks for keeping this thread alive!

                                            R 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy