Advertisement
gosharski

Get_Should_Tests

Apr 21st, 2021
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.51 KB | None | 0 0
  1. using DeliverIT.Data;
  2. using DeliverIT.Services.Exceptions;
  3. using DeliverIT.Services.Services;
  4. using DeliverIT.Services.Services.Models;
  5. using Microsoft.VisualStudio.TestTools.UnitTesting;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10.  
  11. namespace DeliverIT.Tests.ServicesTests.CustomerServiceTests
  12. {
  13. [TestClass]
  14. public class Get_Should
  15. {
  16. [TestMethod]
  17. public void ReturnCorrectCustomerWhenGetting()
  18. {
  19. //Arrange
  20. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerWhenGetting));
  21.  
  22. var cities = Utils.GetCities();
  23. var countries = Utils.GetCountries();
  24. var addresses = Utils.GetAddresses();
  25. var customers = Utils.GetCustomers();
  26.  
  27. using (var arrangeContext = new Database(options))
  28. {
  29. arrangeContext.Countries.AddRange(countries);
  30. arrangeContext.Cities.AddRange(cities);
  31. arrangeContext.Addresses.AddRange(addresses);
  32. arrangeContext.Customers.AddRange(customers);
  33. arrangeContext.SaveChanges();
  34. }
  35.  
  36. using (var actContext = new Database(options))
  37. {
  38. var sut = new CustomerServices(actContext);
  39. //Act
  40. var result = sut.Get(1);
  41.  
  42. //Assert
  43. Assert.AreEqual(customers[0].AddressID, result.AddressID);
  44. Assert.AreEqual(customers[0].Email, result.Email);
  45. Assert.AreEqual(customers[0].FirstName, result.FirstName);
  46. Assert.AreEqual(customers[0].LastName, result.LastName);
  47. Assert.AreEqual(customers[0].CustomerID, result.CustomerID);
  48.  
  49. actContext.Database.EnsureDeleted();
  50. }
  51. }
  52.  
  53. [TestMethod]
  54. public void ReturnCorrectCustomerWhenGettingAndPassingAnother()
  55. {
  56. //Arrange
  57. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerWhenGettingAndPassingAnother));
  58.  
  59. var cities = Utils.GetCities();
  60. var countries = Utils.GetCountries();
  61. var addresses = Utils.GetAddresses();
  62. var customers = Utils.GetCustomers();
  63.  
  64. using (var arrangeContext = new Database(options))
  65. {
  66. arrangeContext.Countries.AddRange(countries);
  67. arrangeContext.Cities.AddRange(cities);
  68. arrangeContext.Addresses.AddRange(addresses);
  69. arrangeContext.Customers.AddRange(customers);
  70. arrangeContext.SaveChanges();
  71. }
  72.  
  73. using (var actContext = new Database(options))
  74. {
  75. var sut = new CustomerServices(actContext);
  76. //Act
  77. var result = sut.Get(1, 1);
  78.  
  79. //Assert
  80. Assert.AreEqual(customers[0].AddressID, result.AddressID);
  81. Assert.AreEqual(customers[0].Email, result.Email);
  82. Assert.AreEqual(customers[0].FirstName, result.FirstName);
  83. Assert.AreEqual(customers[0].LastName, result.LastName);
  84. Assert.AreEqual(customers[0].CustomerID, result.CustomerID);
  85.  
  86. actContext.Database.EnsureDeleted();
  87. }
  88. }
  89.  
  90. [TestMethod]
  91. public void ThrowWhenCustomerIsNullWhenGetting()
  92. {
  93. //Arrange
  94. var options = Utils.GetOptions(nameof(ThrowWhenCustomerIsNullWhenGetting));
  95.  
  96. using (var context = new Database(options))
  97. {
  98. var sut = new CustomerServices(context);
  99. //Act & Assert
  100. Assert.ThrowsException<ObjectNotFoundException>(() => sut.Get(1));
  101.  
  102. context.Database.EnsureDeleted();
  103. }
  104. }
  105.  
  106. [TestMethod]
  107. public void ThrowWhenCustomerIsNullWhenGettingAndPassingAnotherCustomer()
  108. {
  109. //Arrange
  110. var options = Utils.GetOptions(nameof(ThrowWhenCustomerIsNullWhenGettingAndPassingAnotherCustomer));
  111.  
  112. using (var context = new Database(options))
  113. {
  114. var sut = new CustomerServices(context);
  115. //Act & Assert
  116. Assert.ThrowsException<ObjectNotFoundException>(() => sut.Get(1, 1));
  117.  
  118. context.Database.EnsureDeleted();
  119. }
  120. }
  121. [TestMethod]
  122. public void ReturnCorrectCustomerCollection()
  123. {
  124. //Arrange
  125. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerCollection));
  126.  
  127. var cities = Utils.GetCities();
  128. var countries = Utils.GetCountries();
  129. var addresses = Utils.GetAddresses();
  130. var customers = Utils.GetCustomers();
  131.  
  132. using (var arrangeContext = new Database(options))
  133. {
  134. arrangeContext.Countries.AddRange(countries);
  135. arrangeContext.Cities.AddRange(cities);
  136. arrangeContext.Addresses.AddRange(addresses);
  137. arrangeContext.Customers.AddRange(customers);
  138. arrangeContext.SaveChanges();
  139. }
  140.  
  141. using (var actContext = new Database(options))
  142. {
  143. var sut = new CustomerServices(actContext);
  144. //Act
  145. var result = sut.GetAll(new Search());
  146.  
  147. //Assert
  148. Assert.AreEqual(customers[0].AddressID, result.First().AddressID);
  149. Assert.AreEqual(customers[0].Email, result.First().Email);
  150. Assert.AreEqual(customers[0].FirstName, result.First().FirstName);
  151. Assert.AreEqual(customers[0].LastName, result.First().LastName);
  152. Assert.AreEqual(customers[0].CustomerID, result.First().CustomerID);
  153. Assert.AreEqual(customers[1].AddressID, result.Last().AddressID);
  154. Assert.AreEqual(customers[1].Email, result.Last().Email);
  155. Assert.AreEqual(customers[1].FirstName, result.Last().FirstName);
  156. Assert.AreEqual(customers[1].LastName, result.Last().LastName);
  157. Assert.AreEqual(customers[1].CustomerID, result.Last().CustomerID);
  158. actContext.Database.EnsureDeleted();
  159. }
  160. }
  161.  
  162. [TestMethod]
  163. public void ReturnCorrectCustomerCollectionCount()
  164. {
  165. //Arrange
  166. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerCollectionCount));
  167.  
  168. var cities = Utils.GetCities();
  169. var countries = Utils.GetCountries();
  170. var addresses = Utils.GetAddresses();
  171. var customers = Utils.GetCustomers();
  172.  
  173. using (var arrangeContext = new Database(options))
  174. {
  175. arrangeContext.Countries.AddRange(countries);
  176. arrangeContext.Cities.AddRange(cities);
  177. arrangeContext.Addresses.AddRange(addresses);
  178. arrangeContext.Customers.AddRange(customers);
  179. arrangeContext.SaveChanges();
  180. }
  181.  
  182. using (var actContext = new Database(options))
  183. {
  184. var sut = new CustomerServices(actContext);
  185. //Act
  186. var result = sut.GetAll(new Search());
  187.  
  188. //Assert
  189. Assert.AreEqual(customers.Count, result.Count());
  190.  
  191. actContext.Database.EnsureDeleted();
  192. }
  193. }
  194.  
  195. [TestMethod]
  196. public void ReturnCorrectCountOfCustomers()
  197. {
  198. //Arrange
  199. var options = Utils.GetOptions(nameof(ReturnCorrectCountOfCustomers));
  200.  
  201. var cities = Utils.GetCities();
  202. var countries = Utils.GetCountries();
  203. var addresses = Utils.GetAddresses();
  204. var customers = Utils.GetCustomers();
  205.  
  206. using (var arrangeContext = new Database(options))
  207. {
  208. arrangeContext.Countries.AddRange(countries);
  209. arrangeContext.Cities.AddRange(cities);
  210. arrangeContext.Addresses.AddRange(addresses);
  211. arrangeContext.Customers.AddRange(customers);
  212. arrangeContext.SaveChanges();
  213. }
  214.  
  215. using (var actContext = new Database(options))
  216. {
  217. var sut = new CustomerServices(actContext);
  218. //Act
  219. var result = sut.GetCount();
  220.  
  221. //Assert
  222. Assert.AreEqual(customers.Count, result);
  223.  
  224. actContext.Database.EnsureDeleted();
  225. }
  226. }
  227.  
  228. [TestMethod]
  229. public void ReturnCorrectCustomerByEmail()
  230. {
  231. //Arrange
  232. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerByEmail));
  233.  
  234. var cities = Utils.GetCities();
  235. var countries = Utils.GetCountries();
  236. var addresses = Utils.GetAddresses();
  237. var customers = Utils.GetCustomers();
  238.  
  239.  
  240. using (var arrangeContext = new Database(options))
  241. {
  242. arrangeContext.Countries.AddRange(countries);
  243. arrangeContext.Cities.AddRange(cities);
  244. arrangeContext.Addresses.AddRange(addresses);
  245. arrangeContext.Customers.AddRange(customers);
  246. arrangeContext.SaveChanges();
  247. }
  248.  
  249. using (var actContext = new Database(options))
  250. {
  251. var sut = new CustomerServices(actContext);
  252. //Act
  253. var result = sut.GetCustomerByEmail(customers[0].Email);
  254.  
  255. //Assert
  256. Assert.AreEqual(customers[0].AddressID, result.AddressID);
  257. Assert.AreEqual(customers[0].Email, result.Email);
  258. Assert.AreEqual(customers[0].FirstName, result.FirstName);
  259. Assert.AreEqual(customers[0].LastName, result.LastName);
  260. Assert.AreEqual(customers[0].CustomerID, result.CustomerID);
  261.  
  262. actContext.Database.EnsureDeleted();
  263. }
  264. }
  265.  
  266. [TestMethod]
  267. public void ReturnCorrectCustomerIncomingParcel()
  268. {
  269. //Arrange
  270. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerIncomingParcel));
  271.  
  272. var cities = Utils.GetCities();
  273. var countries = Utils.GetCountries();
  274. var addresses = Utils.GetAddresses();
  275. var customers = Utils.GetCustomers();
  276. var parcels = Utils.GetParcels();
  277. var shipments = Utils.GetShipments();
  278. var parcelCategories = Utils.GetParcelCategories();
  279. var statuses = Utils.GetStatus();
  280. var warehouses = Utils.GetWarehouses();
  281. var employees = Utils.GetEmployees();
  282.  
  283. using (var arrangeContext = new Database(options))
  284. {
  285. arrangeContext.Countries.AddRange(countries);
  286. arrangeContext.Cities.AddRange(cities);
  287. arrangeContext.Addresses.AddRange(addresses);
  288. arrangeContext.Customers.AddRange(customers);
  289. arrangeContext.Statuses.AddRange(statuses);
  290. arrangeContext.Warehouses.AddRange(warehouses);
  291. arrangeContext.Shipments.AddRange(shipments);
  292. arrangeContext.Parcels.AddRange(parcels);
  293. arrangeContext.Employees.AddRange(employees);
  294. arrangeContext.ParcelCategories.AddRange(parcelCategories);
  295.  
  296. arrangeContext.SaveChanges();
  297. }
  298.  
  299. using (var actContext = new Database(options))
  300. {
  301. var sut = new CustomerServices(actContext);
  302. //Act
  303. var result = sut.IncommingParcels(1);
  304.  
  305. //Assert
  306. Assert.AreEqual(parcels[0].ParcelID, result.First().ParcelID);
  307.  
  308. actContext.Database.EnsureDeleted();
  309. }
  310. }
  311.  
  312. [TestMethod]
  313. public void ReturnCorrectCustomerIncomingParcelCorrectCount()
  314. {
  315. //Arrange
  316. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerIncomingParcelCorrectCount));
  317.  
  318. var cities = Utils.GetCities();
  319. var countries = Utils.GetCountries();
  320. var addresses = Utils.GetAddresses();
  321. var customers = Utils.GetCustomers();
  322. var parcels = Utils.GetParcels();
  323. var shipments = Utils.GetShipments();
  324. var parcelCategories = Utils.GetParcelCategories();
  325. var statuses = Utils.GetStatus();
  326. var warehouses = Utils.GetWarehouses();
  327. var employees = Utils.GetEmployees();
  328.  
  329. using (var arrangeContext = new Database(options))
  330. {
  331. arrangeContext.Countries.AddRange(countries);
  332. arrangeContext.Cities.AddRange(cities);
  333. arrangeContext.Addresses.AddRange(addresses);
  334. arrangeContext.Customers.AddRange(customers);
  335. arrangeContext.Statuses.AddRange(statuses);
  336. arrangeContext.Warehouses.AddRange(warehouses);
  337. arrangeContext.Shipments.AddRange(shipments);
  338. arrangeContext.Parcels.AddRange(parcels);
  339. arrangeContext.Employees.AddRange(employees);
  340. arrangeContext.ParcelCategories.AddRange(parcelCategories);
  341.  
  342. arrangeContext.SaveChanges();
  343. }
  344.  
  345. using (var actContext = new Database(options))
  346. {
  347. var sut = new CustomerServices(actContext);
  348. //Act
  349. var result = sut.IncommingParcels(1);
  350.  
  351. //Assert
  352. Assert.AreEqual(1, result.Count());
  353.  
  354. actContext.Database.EnsureDeleted();
  355. }
  356. }
  357.  
  358. [TestMethod]
  359. public void ReturnCorrectCustomerPastParcel()
  360. {
  361. //Arrange
  362. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerPastParcel));
  363.  
  364. var cities = Utils.GetCities();
  365. var countries = Utils.GetCountries();
  366. var addresses = Utils.GetAddresses();
  367. var customers = Utils.GetCustomers();
  368. var parcels = Utils.GetParcels();
  369. var shipments = Utils.GetShipments();
  370. var parcelCategories = Utils.GetParcelCategories();
  371. var statuses = Utils.GetStatus();
  372. var warehouses = Utils.GetWarehouses();
  373. var employees = Utils.GetEmployees();
  374.  
  375. using (var arrangeContext = new Database(options))
  376. {
  377. arrangeContext.Countries.AddRange(countries);
  378. arrangeContext.Cities.AddRange(cities);
  379. arrangeContext.Addresses.AddRange(addresses);
  380. arrangeContext.Customers.AddRange(customers);
  381. arrangeContext.Statuses.AddRange(statuses);
  382. arrangeContext.Warehouses.AddRange(warehouses);
  383. arrangeContext.Shipments.AddRange(shipments);
  384. arrangeContext.Parcels.AddRange(parcels);
  385. arrangeContext.Employees.AddRange(employees);
  386. arrangeContext.ParcelCategories.AddRange(parcelCategories);
  387.  
  388. arrangeContext.SaveChanges();
  389. }
  390.  
  391. using (var actContext = new Database(options))
  392. {
  393. var sut = new CustomerServices(actContext);
  394. //Act
  395. var result = sut.GetPastParcels(1);
  396.  
  397. //Assert
  398. Assert.AreEqual(parcels[1].ParcelID, result.First().ParcelID);
  399.  
  400. actContext.Database.EnsureDeleted();
  401. }
  402. }
  403.  
  404. [TestMethod]
  405. public void ReturnCorrectCustomerPastParcelCorrectCount()
  406. {
  407. //Arrange
  408. var options = Utils.GetOptions(nameof(ReturnCorrectCustomerPastParcelCorrectCount));
  409.  
  410. var cities = Utils.GetCities();
  411. var countries = Utils.GetCountries();
  412. var addresses = Utils.GetAddresses();
  413. var customers = Utils.GetCustomers();
  414. var parcels = Utils.GetParcels();
  415. var shipments = Utils.GetShipments();
  416. var parcelCategories = Utils.GetParcelCategories();
  417. var statuses = Utils.GetStatus();
  418. var warehouses = Utils.GetWarehouses();
  419. var employees = Utils.GetEmployees();
  420.  
  421. using (var arrangeContext = new Database(options))
  422. {
  423. arrangeContext.Countries.AddRange(countries);
  424. arrangeContext.Cities.AddRange(cities);
  425. arrangeContext.Addresses.AddRange(addresses);
  426. arrangeContext.Customers.AddRange(customers);
  427. arrangeContext.Statuses.AddRange(statuses);
  428. arrangeContext.Warehouses.AddRange(warehouses);
  429. arrangeContext.Shipments.AddRange(shipments);
  430. arrangeContext.Parcels.AddRange(parcels);
  431. arrangeContext.Employees.AddRange(employees);
  432. arrangeContext.ParcelCategories.AddRange(parcelCategories);
  433.  
  434. arrangeContext.SaveChanges();
  435. }
  436.  
  437. using (var actContext = new Database(options))
  438. {
  439. var sut = new CustomerServices(actContext);
  440. //Act
  441. var result = sut.GetPastParcels(1);
  442.  
  443. //Assert
  444. Assert.AreEqual(1, result.Count());
  445.  
  446. actContext.Database.EnsureDeleted();
  447. }
  448. }
  449. }
  450. }
  451.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement