From 959df25c028a34e8e9d2bb2b5a4ab30a4c5b14f6 Mon Sep 17 00:00:00 2001 From: Erik Seppanen Date: Wed, 10 Aug 2022 08:46:16 -0400 Subject: [PATCH] [#13687] Extend integration tests to create a community --- src/mocks/js_dependencies.cljs | 1 + src/status_im/integration_test.cljs | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/mocks/js_dependencies.cljs b/src/mocks/js_dependencies.cljs index 293cbd3adf..0faadc67d9 100644 --- a/src/mocks/js_dependencies.cljs +++ b/src/mocks/js_dependencies.cljs @@ -137,6 +137,7 @@ :setRoot identity :dismissOverlay #(js/Promise.resolve) :setLazyComponentRegistrator identity + :pop identity :push identity :registerComponent identity :events diff --git a/src/status_im/integration_test.cljs b/src/status_im/integration_test.cljs index b8b114553c..dd30dc678e 100644 --- a/src/status_im/integration_test.cljs +++ b/src/status_im/integration_test.cljs @@ -5,10 +5,13 @@ status-im.events [status-im.multiaccounts.logout.core :as logout] [status-im.transport.core :as transport] + ;; status-im.subs ;;so integration tests can run independently [status-im.utils.test :as utils.test])) (def password "testabc") +(def community {:membership 1 :name "foo" :description "bar"}) + (utils.test/init!) (defn initialize-app! [] @@ -48,6 +51,9 @@ (defn assert-multiaccount-loaded [] (is (false? @(rf/subscribe [:multiaccounts/loading])))) +(defn assert-community-created [] + (is (= @(rf/subscribe [:communities/create]) community))) + (defn logout! [] (rf/dispatch [:logout])) @@ -68,24 +74,29 @@ (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in an inconsistent state between tests (assert-logout))))))) -;; This test is only to make sure running multiple integration tests doesn't hang -;; can be removed as soon as another test is added -(deftest create-account-test-safety-check +(deftest create-community-test (rf-test/run-test-async (initialize-app!) ; initialize app (rf-test/wait-for - [:status-im.init.core/initialize-multiaccounts] ; wait so we load accounts.db - (generate-and-derive-addresses!) ; generate 5 new keys + [:status-im.init.core/initialize-multiaccounts] + (generate-and-derive-addresses!) ; generate 5 new keys (rf-test/wait-for - [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys + [:multiaccount-generate-and-derive-addresses-success] (assert-multiaccount-loaded) ; assert keys are generated (create-multiaccount!) ; create a multiaccount (rf-test/wait-for ; wait for login [::transport/messenger-started] (assert-messenger-started) - (logout!) - (rf-test/wait-for [::logout/logout-method] - (assert-logout))))))) + (rf/dispatch-sync [:status-im.communities.core/open-create-community]) + (doseq [[k v] (dissoc community :membership)] + (rf/dispatch-sync [:status-im.communities.core/create-field k v])) + (rf/dispatch [:status-im.communities.core/create-confirmation-pressed]) + (rf-test/wait-for + [:status-im.communities.core/community-created] + (assert-community-created) + (logout!) + (rf-test/wait-for [::logout/logout-method] + (assert-logout)))))))) (comment (run-tests))