Преглед на файлове

4 рабочизх теста

Oleg Kireev преди 3 години
родител
ревизия
129506a980
променени са 2 файла, в които са добавени 81 реда и са изтрити 4 реда
  1. 14 4
      Hotel_Course_Project/AdminPage.xaml.cs
  2. 67 0
      UnitTestCourseProject/UnitTest.cs

+ 14 - 4
Hotel_Course_Project/AdminPage.xaml.cs

@@ -1,4 +1,5 @@
-using System.Linq;
+using System.Collections.Generic;
+using System.Linq;
 using System.Windows;
 using System.Windows.Controls;
 
@@ -9,6 +10,7 @@ namespace Hotel_Course_Project
     /// </summary>
     public partial class AdminPage : Page
     {
+        public List<Staff> staffSearchedlist;        
         public AdminPage(Staff admin)
         {
             InitializeComponent();
@@ -126,17 +128,25 @@ namespace Hotel_Course_Project
         #region Обработчики кнопок поиска
         private void StaffSrchBtn_Click(object sender, RoutedEventArgs e)
         {
-            var seacrhed = DataBase.db.Staff.Where(item => (item.LName + " " + item.FName + " " + item.MName + " " + item.Login + " " + item.Password).Contains(StaffSeacrhTB.Text)).ToList();
+            string searchText = StaffSeacrhTB.Text;
+            //var seacrhed = DataBase.db.Staff.Where(item => (item.LName + " " + item.FName + " " + item.MName + " " + item.Login + " " + item.Password).Contains(StaffSeacrhTB.Text)).ToList();
+            var searched = SearchStaff(DataBase.db.Staff.ToList(), searchText, staffSearchedlist);
             if (SortStaffCB.SelectedItem == activeS)
             {
-                StaffList.ItemsSource = seacrhed.Where(item => item.Id_PersStatus == 1).ToList();
+                StaffList.ItemsSource = searched.Where(item => item.Id_PersStatus == 1).ToList();
             }
             else
             {
-                StaffList.ItemsSource = seacrhed.Where(item => item.Id_PersStatus == 2).ToList();
+                StaffList.ItemsSource = searched.Where(item => item.Id_PersStatus == 2).ToList();
             }
         }
 
+        public List<Staff> SearchStaff(List<Staff> listStaff, string searchText, List<Staff> staffSearchedList)
+        {
+            staffSearchedList = listStaff.Where(item => (item.LName + " " + item.FName + " " + item.MName + " " + item.Login + " " + item.Password).Contains(searchText)).ToList();
+            return staffSearchedList;
+        }
+
         private void ClientSrchBtn_Click(object sender, RoutedEventArgs e)
         {
             var seacrhed = DataBase.db.Client.Where(item => (item.LName + " " + item.FName + " " + item.MName).Contains(ClientSeacrhTB.Text)).ToList();

+ 67 - 0
UnitTestCourseProject/UnitTest.cs

@@ -1,5 +1,7 @@
 using Hotel_Course_Project;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System.Collections.Generic;
+using System.Linq;
 
 namespace UnitTestCourseProject
 {
@@ -75,5 +77,70 @@ namespace UnitTestCourseProject
             Assert.IsTrue(clientChangeOrAdd.TestAddClient(Lname, Fname, Mname));
         }
 
+        [TestMethod]
+        public void TestSearchStaff()
+        {
+            AdminPage adminPage = new AdminPage(null);
+            List<Staff> staffList = new List<Staff>();
+            List<Staff> searchedStaffList = new List<Staff>();
+            string searchText;
+            
+            //создаётся базовый лист сотрудников из которого будет происходить поиск
+            Staff staff1 = new Staff()
+            {
+                Id = 1,
+                LName = "Иванов",
+                FName = "Иван",
+                MName = "Иванович",
+                Login = "123",
+                Password = "123",
+                Id_PersStatus = 1,
+                Id_StaffRole = 1
+            }; 
+            Staff staff2 = new Staff()
+            {
+                Id = 2,
+                LName = "Петров",
+                FName = "Пётр",
+                MName = "Петрович",
+                Login = "234",
+                Password = "123",
+                Id_PersStatus = 1,
+                Id_StaffRole = 1
+            };
+            Staff staff3 = new Staff()
+            {
+                Id = 3,
+                LName = "Фёдоров",
+                FName = "Фёдор",
+                MName = "Фёдорович",
+                Login = "345",
+                Password = "123",
+                Id_PersStatus = 1,
+                Id_StaffRole = 1
+            };
+            Staff staff4 = new Staff()
+            {
+                Id = 4,
+                LName = "Давидов",
+                FName = "Давид",
+                MName = "Давидович",
+                Login = "456",
+                Password = "123",
+                Id_PersStatus = 1,
+                Id_StaffRole = 1
+            };
+            staffList.Add(staff1);
+            staffList.Add(staff2);
+            staffList.Add(staff3);
+            staffList.Add(staff4);
+            
+            //заполняем итоговый лист с тем, что должно найтись после поиска
+            searchedStaffList.Add(staff3);
+            searchedStaffList.Add(staff4);
+            searchText = "45";
+            List<Staff> scrh = new List<Staff>();
+            CollectionAssert.AreEqual(adminPage.SearchStaff(staffList, searchText, scrh), searchedStaffList);
+        }
     }
 }