am321 2 年 前
コミット
477eb69fdc

+ 6 - 0
Avokado.sln

@@ -5,6 +5,8 @@ VisualStudioVersion = 17.2.32519.379
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avokado", "Avokado\Avokado.csproj", "{35FD23C8-82B4-4703-9F1A-156D7FE4D1CD}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\UnitTests.csproj", "{2FAA4D0E-91E2-4D95-AF38-3D5487FD35FF}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
 		{35FD23C8-82B4-4703-9F1A-156D7FE4D1CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{35FD23C8-82B4-4703-9F1A-156D7FE4D1CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{35FD23C8-82B4-4703-9F1A-156D7FE4D1CD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2FAA4D0E-91E2-4D95-AF38-3D5487FD35FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{2FAA4D0E-91E2-4D95-AF38-3D5487FD35FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2FAA4D0E-91E2-4D95-AF38-3D5487FD35FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{2FAA4D0E-91E2-4D95-AF38-3D5487FD35FF}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 43 - 1
Avokado/authForm.cs

@@ -24,6 +24,8 @@ namespace Avokado
             try
             {
                 DBHElper.openConnection(ref DBHElper.sqlConnection);
+                debugAndTrace.onStart();
+                debugAndTrace.writeInFile("Программа запустилась");
             }
             catch
             {
@@ -45,6 +47,13 @@ namespace Avokado
                         a = new SqlCommand($"select id_buyer from buyers where login like '{loginTB.Text}' and password like '{passwordTB.Text}'", DBHElper.sqlConnection);
                         userId = a.ExecuteScalar().ToString();
                         mainMenu menu = new mainMenu();
+
+                        string[] data = new string[2];
+                        data[0] = loginTB.Text;
+                        data[1] = passwordTB.Text;
+
+                        debugAndTrace.writeInFile($"Пользователь {userId} вошел в систему", data);
+
                         menu.Show();
                         this.Hide();
 
@@ -57,7 +66,7 @@ namespace Avokado
                     }
                     else
                     {
-                        Controls.Add(new Label() { Text = "Такого пользователя нет в базе!", Location = new Point(0, 0), ForeColor = Color.FromArgb(200, 0, 0) });
+                        MessageBox.Show("Такого пользователя нет в базе!");
                     }
                 }
                 else
@@ -71,6 +80,39 @@ namespace Avokado
             }
         }
 
+        public string auth(string login, string password)
+        {
+            try
+            {
+                DBHElper.openConnection(ref DBHElper.sqlConnection);
+                if (!String.IsNullOrEmpty(login))
+                {
+                    SqlCommand a = new SqlCommand($"select count(*) from buyers where login like '{login}' and password like '{password}'", DBHElper.sqlConnection);
+                    if (a.ExecuteScalar().ToString().Equals("1"))
+                    {
+                        a = new SqlCommand($"select name from buyers where login like '{login}' and password like '{password}'", DBHElper.sqlConnection);
+                        userName = a.ExecuteScalar().ToString();
+                        a = new SqlCommand($"select id_buyer from buyers where login like '{login}' and password like '{password}'", DBHElper.sqlConnection);
+                        userId = a.ExecuteScalar().ToString();
+
+                        return "Авторизация прошла успешно";
+                    }
+                    else
+                    {
+                        return "Такого пользователя нет в базе!";
+                    }
+                }
+                else
+                {
+                    return "Поле ЛОГИН пустое!";
+                }
+            }
+            catch
+            {
+                return "Произошла непредвиденная ошибка";
+            }
+        }
+
         private void signUpL_Click(object sender, EventArgs e)
         {
             try

+ 20 - 0
UnitTests/Properties/AssemblyInfo.cs

@@ -0,0 +1,20 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("UnitTests")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("UnitTests")]
+[assembly: AssemblyCopyright("Copyright ©  2022")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: ComVisible(false)]
+
+[assembly: Guid("2faa4d0e-91e2-4d95-af38-3d5487fd35ff")]
+
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 43 - 0
UnitTests/UnitTest1.cs

@@ -0,0 +1,43 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using Avokado;
+
+namespace UnitTests
+{
+    [TestClass]
+    public class UnitTest1
+    {
+        [TestMethod]
+        public void TestMethod1()
+        {
+            authForm from = new authForm();
+            string login = "";
+            string password = "";
+            string expected = "Поле ЛОГИН пустое!";
+            string act = from.auth(login, password);
+            Assert.AreEqual(expected, act);
+        }
+
+        [TestMethod]
+        public void TestMethod2()
+        {
+            authForm from = new authForm();
+            string login = "nagios";
+            string password = "log";
+            string expected = "Такого пользователя нет в базе!";
+            string act = from.auth(login, password);
+            Assert.AreEqual(expected, act);
+        }
+
+        [TestMethod]
+        public void TestMethod3()
+        {
+            authForm from = new authForm();
+            string login = "asd";
+            string password = "asd";
+            string expected = "Авторизация прошла успешно";
+            string act = from.auth(login, password);
+            Assert.AreEqual(expected, act);
+        }
+    }
+}

+ 75 - 0
UnitTests/UnitTests.csproj

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.props')" />
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{2FAA4D0E-91E2-4D95-AF38-3D5487FD35FF}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>UnitTests</RootNamespace>
+    <AssemblyName>UnitTests</AssemblyName>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
+    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+    <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
+    <IsCodedUITest>False</IsCodedUITest>
+    <TestProjectType>UnitTest</TestProjectType>
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\MSTest.TestFramework.2.2.7\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\MSTest.TestFramework.2.2.7\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Windows.Forms" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="UnitTest1.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Avokado\Avokado.csproj">
+      <Project>{35fd23c8-82b4-4703-9f1a-156d7fe4d1cd}</Project>
+      <Name>Avokado</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере. Используйте восстановление пакетов NuGet, чтобы скачать их.  Дополнительную информацию см. по адресу: http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствует следующий файл: {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.props'))" />
+    <Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.targets'))" />
+  </Target>
+  <Import Project="..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.targets')" />
+</Project>

+ 5 - 0
UnitTests/packages.config

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="MSTest.TestAdapter" version="2.2.7" targetFramework="net472" />
+  <package id="MSTest.TestFramework" version="2.2.7" targetFramework="net472" />
+</packages>