add ui test

This commit is contained in:
Pritimay Sarkar
2024-01-18 13:29:16 +05:30
parent 71ca08edaa
commit 240840d74c
4 changed files with 110 additions and 3 deletions

View File

@@ -91,7 +91,7 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation "androidx.work:work-testing-ktx:2.9.0"
androidTestImplementation "androidx.work:work-testing:2.9.0"
androidTestImplementation 'androidx.test:core-ktx:1.5.0'
// mockk

View File

@@ -0,0 +1,42 @@
package com.example.hpostesting
import androidx.test.core.app.ActivityScenario
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.ext.junit.runners.AndroidJUnit4
//import com.example.hpostesting.R
import com.example.hpostesting.presentation.assurance.AssuranceControlsActivity
import `in`.sminnovations.hpostesting.databinding.ActivityAssuranceControlsBinding
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
@RunWith(AndroidJUnit4::class)
class AssuranceControlsActivityTest {
//
// @Test
// fun testViewBinding() {
// val activityScenario = ActivityScenario.launch(AssuranceControlsActivity::class.java)
// activityScenario.onActivity { activity ->
// assertNotNull(activity.binding)
// assertEquals(ActivityAssuranceControlsBinding::class.java, activity.binding.javaClass)
// }
// }
//
// @Test
// fun testSharedPreferencesInitialization() {
// val activityScenario = ActivityScenario.launch(AssuranceControlsActivity::class.java)
// activityScenario.onActivity { activity ->
// assertNotNull(activity.sharedPreference)
// assertEquals("HEMOCUBE", activity.sharedPreference.getString("HEMOCUBE", null))
// }
// }
// @Test
// fun testFragmentTransaction() {
// val activityScenario = ActivityScenario.launch(AssuranceControlsActivity::class.java)
// onView(withId(R.id.fgAssuranceControls)).check(matches(isDisplayed())) // Using Espresso for UI verification
// }
}

View File

@@ -9,8 +9,8 @@ import `in`.sminnovations.hpostesting.databinding.ActivityAssuranceControlsBindi
@AndroidEntryPoint
class AssuranceControlsActivity: AppCompatActivity() {
private lateinit var binding: ActivityAssuranceControlsBinding
private lateinit var sharedPreference: SharedPreferences
lateinit var binding: ActivityAssuranceControlsBinding
lateinit var sharedPreference: SharedPreferences
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

View File

@@ -0,0 +1,65 @@
import android.content.Context
import android.content.SharedPreferences
import android.os.Bundle
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentTransaction
import com.example.hpostesting.presentation.assurance.AssuranceControlsActivity
import `in`.sminnovations.hpostesting.databinding.ActivityAssuranceControlsBinding
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.junit.MockitoJUnitRunner
@RunWith(MockitoJUnitRunner::class)
class AssuranceControlsActivityTest {
//
// @Mock
// private lateinit var mockContext: Context
//
// @Mock
// private lateinit var mockSharedPreferences: SharedPreferences
//
// @Mock
// private lateinit var mockBinding: ActivityAssuranceControlsBinding
//
// @Mock
// private lateinit var mockFragmentManager: FragmentManager
//
// @Mock
// private lateinit var mockFragmentTransaction: FragmentTransaction
//
// private lateinit var assuranceControlsActivity: AssuranceControlsActivity
//
// @Before
// fun setup() {
// Mockito.`when`(mockContext.getSharedPreferences(Mockito.anyString(), Mockito.anyInt()))
// .thenReturn(mockSharedPreferences)
//
//// Mockito.`when`(mockBinding.fgAssuranceControls).thenReturn(mockFragmentContainer)
//
// assuranceControlsActivity = AssuranceControlsActivity()
// assuranceControlsActivity.binding = mockBinding
//
// assuranceControlsActivity.supportFragmentManager = mockFragmentManager
// Mockito.`when`(mockFragmentManager.beginTransaction()).thenReturn(mockFragmentTransaction)
// }
//
// @Test
// fun onCreate_shouldInitializeViews() {
// assuranceControlsActivity.onCreate(Bundle())
//
// // Verify that the layout inflater is used to inflate the binding
// Mockito.verify(mockBinding).inflate(Mockito.any(android.view.LayoutInflater::class.java))
//
// // Verify that the content view is set to the root of the binding
// Mockito.verify(assuranceControlsActivity).setContentView(mockBinding.root)
//
// // Verify that the fragment transaction is committed
// Mockito.verify(mockFragmentTransaction).commit()
// }
// Add more tests as needed to cover different scenarios
}