123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using ConsoleAppForUniqWear;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace UnitTestProject4
- {
- [TestClass]
- public class UserServiceTests
- {
- private UserService _userService;
- private TestDatabaseClient _testClient;
- [TestInitialize]
- public void Setup()
- {
- _testClient = new TestDatabaseClient();
- _userService = new UserService(_testClient);
- }
- [TestMethod]
- public async Task GetUserByIdAsync_ValidId_ReturnsUser()
- {
- // Подготовка
- var existingUser = await _testClient.GetAllUsers();
- var userId = existingUser.First().Id; // Получаем ID первого пользователя
- // Действие
- var user = await _userService.GetUserByIdAsync(userId);
- // Проверка
- Assert.IsNotNull(user, "Пользователь не должен быть равен null");
- Assert.AreEqual(userId, user.Id, "ID пользователя должен соответствовать запрашиваемому ID");
- Assert.AreEqual("John", user.FirstName, "Имя должно быть John");
- }
- [TestMethod]
- public async Task GetUserByIdAsync_InvalidId_ReturnsNull()
- {
- // Подготовка
- var invalidUserId = Guid.NewGuid(); // Генерируем случайный ID
- // Действие
- var user = await _userService.GetUserByIdAsync(invalidUserId);
- // Проверка
- Assert.IsNull(user, "Пользователь должен быть равен null для недействительного ID");
- }
- [TestMethod]
- public async Task GetAllUsersAsync_ReturnsAllUsers()
- {
- // Действие
- var users = await _userService.GetAllUsersAsync();
- // Проверка
- Assert.IsNotNull(users, "Список пользователей не должен быть равен null");
- Assert.AreEqual(3, users.Count, "В списке должно быть три пользователя");
- Assert.AreEqual("John", users[0].FirstName, "Первый пользователь должен быть John");
- Assert.AreEqual("Jane", users[1].FirstName, "Второй пользователь должен быть Jane");
- Assert.AreEqual("Alice", users[2].FirstName, "Третий пользователь должен быть Alice");
- }
- [TestMethod]
- public async Task GetAllUsers_ReturnsAllUsersCount()
- {
- var users = await _userService.GetAllUsersAsync();
- Assert.IsNotNull(users);
- Assert.AreEqual(3, users.Count);
- }
- }
- [TestClass]
- public class ClothingTypeServiceTests
- {
- private ClothingTypeService _clothingTypeService;
- private TestClothingTypeDatabaseClient _testClient;
- [TestInitialize]
- public void Setup()
- {
- _testClient = new TestClothingTypeDatabaseClient();
- _clothingTypeService = new ClothingTypeService(_testClient);
- }
- [TestMethod]
- public async Task GetClothingTypeByIdAsync_ValidId_ReturnsClothingType()
- {
- // Подготовка
- var existingClothingTypes = await _testClient.GetAllClothingTypes();
- var clothingTypeId = existingClothingTypes.First().Id; // Получаем ID первого типа одежды
- // Действие
- var clothingType = await _clothingTypeService.GetClothingTypeByIdAsync(clothingTypeId);
- // Проверка
- Assert.IsNotNull(clothingType, "Тип одежды не должен быть равен null");
- Assert.AreEqual(clothingTypeId, clothingType.Id, "ID типа одежды должен соответствовать запрашиваемому ID");
- Assert.AreEqual("Футболка", clothingType.Name, "Название типа одежды должно быть Футболка");
- }
- [TestMethod]
- public async Task GetClothingTypeByIdAsync_InvalidId_ReturnsNull()
- {
- // Подготовка
- var invalidClothingTypeId = Guid.NewGuid(); // Генерируем случайный ID
- // Действие
- var clothingType = await _clothingTypeService.GetClothingTypeByIdAsync(invalidClothingTypeId);
- // Проверка
- Assert.IsNull(clothingType, "Тип одежды должен быть равен null для недействительного ID");
- }
- [TestMethod]
- public async Task GetAllClothingTypesAsync_ReturnsAllClothingTypes()
- {
- // Действие
- var clothingTypes = await _clothingTypeService.GetAllClothingTypesAsync();
- // Проверка
- Assert.IsNotNull(clothingTypes, "Список типов одежды не должен быть равен null");
- Assert.AreEqual(3, clothingTypes.Count, "В списке должно быть три типа одежды");
- Assert.AreEqual("Футболка", clothingTypes[0].Name, "Первый тип одежды должен быть Футболка");
- Assert.AreEqual("Кофта", clothingTypes[1].Name, "Второй тип одежды должен быть Кофта");
- Assert.AreEqual("Джинсы", clothingTypes[2].Name, "Третий тип одежды должен быть Джинсы");
- }
- }
- [TestClass]
- public class ReadyMadeClothingServiceTests
- {
- private ReadyMadeClothingService _readyMadeClothingService;
- private TestReadyMadeClothingDatabaseClient _testClient;
- [TestInitialize]
- public void Setup()
- {
- _testClient = new TestReadyMadeClothingDatabaseClient();
- _readyMadeClothingService = new ReadyMadeClothingService(_testClient);
- }
- [TestMethod]
- public async Task GetReadyMadeClothingByIdAsync_ValidId_ReturnsReadyMadeClothing()
- {
- // Подготовка
- var existingClothingItems = await _testClient.GetAllReadyMadeClothing();
- var clothingId = existingClothingItems.First().Id; // Получаем ID первого элемента
- // Действие
- var clothing = await _readyMadeClothingService.GetReadyMadeClothingByIdAsync(clothingId);
- // Проверка
- Assert.IsNotNull(clothing, "Элемент одежды не должен быть равен null");
- Assert.AreEqual(clothingId, clothing.Id, "ID элемента одежды должен соответствовать запрашиваемому ID");
- Assert.AreEqual("Классическая футболка", clothing.Name, "Название должно быть Классическая футболка");
- }
- [TestMethod]
- public async Task GetReadyMadeClothingByIdAsync_InvalidId_ReturnsNull()
- {
- // Подготовка
- var invalidClothingId = Guid.NewGuid(); // Генерируем ID
- // Действие
- var clothing = await _readyMadeClothingService.GetReadyMadeClothingByIdAsync(invalidClothingId);
- // Проверка
- Assert.IsNull(clothing, "Элемент одежды должен быть равен null для недействительного ID");
- }
- [TestMethod]
- public async Task GetAllReadyMadeClothingAsync_ReturnsAllReadyMadeClothing()
- {
- // Действие
- var clothingItems = await _readyMadeClothingService.GetAllReadyMadeClothingAsync();
- // Проверка
- Assert.IsNotNull(clothingItems, "Список элементов одежды не должен быть равен null");
- Assert.AreEqual(3, clothingItems.Count, "В списке должно быть три элемента одежды");
- Assert.AreEqual("Классическая футболка", clothingItems[0].Name, "Первый элемент одежды должен быть Классическая футболка");
- Assert.AreEqual("Спортивная кофта", clothingItems[1].Name, "Второй элемент одежды должен быть Спортивная кофта");
- Assert.AreEqual("Летние джинсы", clothingItems[2].Name, "Третий элемент одежды должен быть Летние джинсы");
- }
- }
- }
|