Add screenshot tests

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2021-02-16 12:00:06 +01:00
parent 4714e7767e
commit 7650c8f8ea
No known key found for this signature in database
GPG key ID: 6CADC7E3523C308B
2 changed files with 65 additions and 0 deletions

View file

@ -0,0 +1,59 @@
/*
* Nextcloud Android client application
*
* @author Andy Scherzinger
* Copyright (C) 2021 Andy Scherzinger
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.nextcloud.client;
import android.Manifest;
import com.owncloud.android.AbstractIT;
import com.owncloud.android.R;
import com.owncloud.android.authentication.AuthenticatorActivity;
import com.owncloud.android.utils.ScreenshotTest;
import org.junit.Rule;
import org.junit.Test;
import androidx.test.espresso.intent.rule.IntentsTestRule;
import androidx.test.rule.GrantPermissionRule;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.typeText;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
public class AuthenticatorActivityIT extends AbstractIT {
private static final String URL = "cloud.nextcloud.com";
@Rule public IntentsTestRule<AuthenticatorActivity> activityRule = new IntentsTestRule<>(AuthenticatorActivity.class,
true,
false);
@Rule
public final GrantPermissionRule permissionRule = GrantPermissionRule.grant(
Manifest.permission.WRITE_EXTERNAL_STORAGE);
@Test
@ScreenshotTest
public void login() {
AuthenticatorActivity sut = activityRule.launchActivity(null);
onView(withId(R.id.host_url_input)).perform(typeText(URL));
sut.runOnUiThread(() -> sut.getAccountSetupBinding().hostUrlInput.clearFocus());
screenshot(sut);
}
}

View file

@ -143,6 +143,7 @@ import javax.inject.Inject;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@ -244,6 +245,11 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
@SuppressLint("ResourceAsColor") @ColorInt
private int primaryColor = R.color.primary;
@VisibleForTesting
public AccountSetupBinding getAccountSetupBinding() {
return accountSetupBinding;
}
/**
* {@inheritDoc}
* <p>