Advertisement
Guest User

Untitled

a guest
Oct 25th, 2017
389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.90 KB | None | 0 0
  1. KundeControllerTest.cs
  2.  
  3. _____________________
  4.  
  5. using System;
  6. using Microsoft.VisualStudio.TestTools.UnitTesting;
  7. using RetroFlyreiser.BLL;
  8. using RetroFlyreiser.DAL;
  9. using RetroFlyreiser.Model;
  10. using RetroFlyreiser.Controllers;
  11. using System.Collections.Generic;
  12. using System.Web.Mvc;
  13. using System.Linq;
  14. using MvcContrib.TestHelper;
  15.  
  16. namespace RetroFlyreiser.Enhetstest
  17. {
  18. [TestClass]
  19. public class KundeControllerTest
  20. {
  21. private Poststed poststed = new Poststed()
  22. {
  23. Postnr = "1000",
  24. Sted = "Oslo"
  25. };
  26.  
  27. [TestMethod]
  28. public void Session_null()
  29. {
  30. // Arrange
  31. var SessionMock = new TestControllerBuilder();
  32. var controller = new KundeController(new KundeBLL(new KundeStub()));
  33. SessionMock.InitializeController(controller);
  34.  
  35. controller.Session["LoggetInn"] = null;
  36.  
  37. var innKunde = new Kunde()
  38. {
  39. Fornavn = "Per",
  40. Etternavn = "Olsen",
  41. Adresse = "Osloveien 82",
  42. Poststed = poststed,
  43. Telefon = "12345678",
  44. Epost = "unittest@test.no",
  45. Aktiv = true
  46.  
  47. };
  48.  
  49. // Act
  50. var result = (RedirectToRouteResult)controller.RegistrerKunde();
  51.  
  52. // Assert
  53. Assert.AreEqual(result.RouteName, "");
  54. Assert.AreEqual(result.RouteValues.Values.First(), "IngenTilgang");
  55. }
  56.  
  57. [TestMethod]
  58. public void Session_false()
  59. {
  60. // Arrange
  61. var SessionMock = new TestControllerBuilder();
  62. var controller = new KundeController(new KundeBLL(new KundeStub()));
  63. SessionMock.InitializeController(controller);
  64.  
  65. controller.Session["LoggetInn"] = false;
  66.  
  67.  
  68. var innKunde = new Kunde()
  69. {
  70. Fornavn = "Per",
  71. Etternavn = "Olsen",
  72. Adresse = "Osloveien 82",
  73. Poststed = poststed,
  74. Telefon = "12345678",
  75. Epost = "unittest@test.no",
  76. Aktiv = true
  77.  
  78. };
  79. // Act
  80. var result = (RedirectToRouteResult)controller.RegistrerKunde();
  81.  
  82. // Assert
  83. Assert.AreEqual(result.RouteName, "");
  84. Assert.AreEqual(result.RouteValues.Values.First(), "IngenTilgang");
  85. }
  86.  
  87. // NB. Hvordan kan man sammenligne poststed objekter ?
  88. [TestMethod]
  89. public void ListKunder_OK()
  90. {
  91.  
  92. // Arrange
  93. var SessionMock = new TestControllerBuilder();
  94. var controller = new KundeController(new KundeBLL(new KundeStub()));
  95. SessionMock.InitializeController(controller);
  96. controller.Session["LoggetInn"] = true;
  97.  
  98. var forventetResultat = new List<Kunde>();
  99. var kunde = new Kunde()
  100. {
  101. Fornavn = "Per",
  102. Etternavn = "Olsen",
  103. Adresse = "Osloveien 82",
  104. Poststed = poststed,
  105. Telefon = "12345678",
  106. Epost = "unittest@test.no",
  107. Aktiv = true
  108. };
  109.  
  110.  
  111. forventetResultat.Add(kunde);
  112. forventetResultat.Add(kunde);
  113. forventetResultat.Add(kunde);
  114.  
  115. // Act
  116. var actionResult = (ViewResult)controller.ListKunder();
  117. var resultat = (List<Kunde>)actionResult.Model;
  118.  
  119. // Assert
  120. Assert.AreEqual(actionResult.ViewName, "");
  121.  
  122. for (var i = 0; i < resultat.Count; i++)
  123. {
  124. Assert.AreEqual(forventetResultat[i].Fornavn, resultat[i].Fornavn);
  125. Assert.AreEqual(forventetResultat[i].Etternavn, resultat[i].Etternavn);
  126. Assert.AreEqual(forventetResultat[i].Adresse, resultat[i].Adresse);
  127. Assert.AreEqual(forventetResultat[i].Poststed.Postnr, resultat[i].Poststed.Postnr);
  128. Assert.AreEqual(forventetResultat[i].Poststed.Sted, resultat[i].Poststed.Sted);
  129. Assert.AreEqual(forventetResultat[i].Telefon, resultat[i].Telefon);
  130. Assert.AreEqual(forventetResultat[i].Epost, resultat[i].Epost);
  131.  
  132. }
  133. }
  134.  
  135. [TestMethod]
  136. public void ListKunder_OK_session_ikke_OK()
  137. {
  138.  
  139. // Arrange
  140. var SessionMock = new TestControllerBuilder();
  141. var controller = new KundeController(new KundeBLL(new KundeStub()));
  142. SessionMock.InitializeController(controller);
  143. controller.Session["LoggetInn"] = false;
  144.  
  145. // Act
  146. var result = (RedirectToRouteResult)controller.ListKunder();
  147.  
  148. // Assert
  149. Assert.AreEqual(result.RouteName, "");
  150. Assert.AreEqual(result.RouteValues.Values.First(), "IngenTilgang");
  151. }
  152.  
  153.  
  154. [TestMethod]
  155. public void Registrer()
  156. {
  157. // Arrange
  158. var SessionMock = new TestControllerBuilder();
  159. var controller = new KundeController(new KundeBLL(new KundeStub()));
  160. SessionMock.InitializeController(controller);
  161. controller.Session["LoggetInn"] = true;
  162.  
  163. // Act
  164. var actionResult = (ViewResult)controller.RegistrerKunde();
  165.  
  166. // Assert
  167. Assert.AreEqual(actionResult.ViewName, "");
  168. }
  169.  
  170. [TestMethod]
  171. public void Registrer_Post_OK()
  172. {
  173. // Arrange
  174. var SessionMock = new TestControllerBuilder();
  175. var controller = new KundeController(new KundeBLL(new KundeStub()));
  176. SessionMock.InitializeController(controller);
  177. controller.Session["LoggetInn"] = true;
  178.  
  179. var innKunde = new Kunde()
  180. {
  181. Fornavn = "Per",
  182. Etternavn = "Olsen",
  183. Adresse = "Osloveien 82",
  184. Poststed = poststed,
  185. Telefon = "12345678",
  186. Epost = "unittest@test.no",
  187. Aktiv = true
  188. };
  189. // Act
  190. var result = (RedirectToRouteResult)controller.RegistrerKunde(innKunde);
  191.  
  192. // Assert
  193. Assert.AreEqual(result.RouteName, "");
  194. Assert.AreEqual(result.RouteValues.Values.First(), "ListKunder");
  195. }
  196.  
  197. [TestMethod]
  198. public void Registrer_Post_OK_session_ikke_OK()
  199. {
  200. // Arrange
  201. var SessionMock = new TestControllerBuilder();
  202. var controller = new KundeController(new KundeBLL(new KundeStub()));
  203. SessionMock.InitializeController(controller);
  204. controller.Session["LoggetInn"] = false;
  205.  
  206. var innKunde = new Kunde()
  207. {
  208. Fornavn = "Per",
  209. Etternavn = "Olsen",
  210. Adresse = "Osloveien 82",
  211. Poststed = poststed,
  212. Telefon = "12345678",
  213. Epost = "unittest@test.no",
  214. Aktiv = true
  215. };
  216. // Act
  217. var result = (RedirectToRouteResult)controller.RegistrerKunde(innKunde);
  218.  
  219. // Assert
  220. Assert.AreEqual(result.RouteName, "");
  221. Assert.AreEqual(result.RouteValues.Values.First(), "IngenTilgang");
  222. }
  223.  
  224. [TestMethod]
  225. public void Registrer_Post_Model_feil()
  226. {
  227. // Arrange
  228. var SessionMock = new TestControllerBuilder();
  229. var controller = new KundeController(new KundeBLL(new KundeStub()));
  230. SessionMock.InitializeController(controller);
  231. controller.Session["LoggetInn"] = true;
  232.  
  233. var innKunde = new Kunde();
  234. controller.ViewData.ModelState.AddModelError("epost", "Ikke oppgitt epost");
  235.  
  236. // Act
  237. var actionResult = (ViewResult)controller.RegistrerKunde(innKunde);
  238.  
  239. // Assert
  240. Assert.IsTrue(actionResult.ViewData.ModelState.Count == 1);
  241. Assert.AreEqual(actionResult.ViewName, "~/Views/Error/Error.cshtml");
  242. }
  243.  
  244. [TestMethod]
  245. public void Registrer_Post_DB_feil()
  246. {
  247. // Arrange
  248. var SessionMock = new TestControllerBuilder();
  249. var controller = new KundeController(new KundeBLL(new KundeStub()));
  250. SessionMock.InitializeController(controller);
  251. controller.Session["LoggetInn"] = true;
  252.  
  253. var innKunde = new Kunde();
  254. innKunde.Epost = "";
  255.  
  256. // Act
  257. var actionResult = (ViewResult)controller.RegistrerKunde(innKunde);
  258.  
  259. // Assert
  260. Assert.AreEqual(actionResult.ViewName, "~/Views/Error/Error.cshtml");
  261. }
  262.  
  263.  
  264. [TestMethod]
  265. public void SlettKunde()
  266. {
  267. // Arrange
  268. var SessionMock = new TestControllerBuilder();
  269. var controller = new KundeController(new KundeBLL(new KundeStub()));
  270. SessionMock.InitializeController(controller);
  271. controller.Session["LoggetInn"] = true;
  272.  
  273. // Act
  274. var actionResult = (ViewResult)controller.SlettKunde("");
  275. var resultat = (Kunde)actionResult.Model;
  276.  
  277. // Assert
  278. Assert.AreEqual(actionResult.ViewName, "");
  279. }
  280.  
  281. [TestMethod]
  282. public void SlettKunde_session_ikke_OK()
  283. {
  284. // Arrange
  285. var SessionMock = new TestControllerBuilder();
  286. var controller = new KundeController(new KundeBLL(new KundeStub()));
  287. SessionMock.InitializeController(controller);
  288. controller.Session["LoggetInn"] = false;
  289.  
  290. // Act
  291. var result = (RedirectToRouteResult)controller.SlettKunde("");
  292.  
  293. // Assert
  294. Assert.AreEqual(result.RouteName, "");
  295. Assert.AreEqual(result.RouteValues.Values.First(), "IngenTilgang");
  296. }
  297.  
  298.  
  299. [TestMethod]
  300. public void Slettet_funnet_Post()
  301. {
  302. // Arrange
  303. var SessionMock = new TestControllerBuilder();
  304. var controller = new KundeController(new KundeBLL(new KundeStub()));
  305. SessionMock.InitializeController(controller);
  306. controller.Session["LoggetInn"] = true;
  307.  
  308. var innKunde = new Kunde()
  309. {
  310. Fornavn = "Per",
  311. Etternavn = "Olsen",
  312. Adresse = "Osloveien 82",
  313. Poststed = poststed,
  314. Telefon = "12345678",
  315. Epost = "unittest@test.no",
  316. Aktiv = true
  317.  
  318. };
  319.  
  320. // Act
  321. var actionResult = (RedirectToRouteResult)controller.SlettKunde("unittest@test.no", innKunde);
  322.  
  323. // Assert
  324. Assert.AreEqual(actionResult.RouteName, "");
  325. Assert.AreEqual(actionResult.RouteValues.Values.First(), "ListKunder");
  326. }
  327.  
  328. [TestMethod]
  329. public void Slettet_funnet_Post_session_ikke_OK()
  330. {
  331. // Arrange
  332. var SessionMock = new TestControllerBuilder();
  333. var controller = new KundeController(new KundeBLL(new KundeStub()));
  334. SessionMock.InitializeController(controller);
  335. controller.Session["LoggetInn"] = false;
  336.  
  337. var innKunde = new Kunde()
  338. {
  339. Fornavn = "Per",
  340. Etternavn = "Olsen",
  341. Adresse = "Osloveien 82",
  342. Poststed = poststed,
  343. Telefon = "12345678",
  344. Epost = "unittest@test.no",
  345. Aktiv = true
  346.  
  347. };
  348.  
  349. // Act
  350. var actionResult = (RedirectToRouteResult)controller.SlettKunde("unittest@test.no", innKunde);
  351.  
  352. // Assert
  353. Assert.AreEqual(actionResult.RouteName, "");
  354. Assert.AreEqual(actionResult.RouteValues.Values.First(), "IngenTilgang");
  355. }
  356.  
  357.  
  358. [TestMethod]
  359. public void Slett_ikke_funnet_Post()
  360. {
  361. // Arrange
  362. var SessionMock = new TestControllerBuilder();
  363. var controller = new KundeController(new KundeBLL(new KundeStub()));
  364. SessionMock.InitializeController(controller);
  365. controller.Session["LoggetInn"] = true;
  366.  
  367. var innKunde = new Kunde()
  368. {
  369. Fornavn = "Per",
  370. Etternavn = "Olsen",
  371. Adresse = "Osloveien 82",
  372. Poststed = poststed,
  373. Telefon = "12345678",
  374. Epost = "unittest@test.no",
  375. Aktiv = true
  376. };
  377.  
  378. // Act
  379. var actionResult = (ViewResult)controller.SlettKunde("", innKunde);
  380.  
  381. // Assert
  382. Assert.AreEqual(actionResult.ViewName, "~/Views/Error/Error.cshtml");
  383. }
  384.  
  385. [TestMethod]
  386. public void Detaljer()
  387. {
  388. // Arrange
  389. var SessionMock = new TestControllerBuilder();
  390. var controller = new KundeController(new KundeBLL(new KundeStub()));
  391. SessionMock.InitializeController(controller);
  392. controller.Session["LoggetInn"] = true;
  393.  
  394. var forventetResultat = new Kunde()
  395. {
  396. Fornavn = "Per",
  397. Etternavn = "Olsen",
  398. Adresse = "Osloveien 82",
  399. Poststed = poststed,
  400. Telefon = "12345678",
  401. Epost = "unittest@test.no",
  402. Aktiv = true
  403. };
  404. // Act
  405. var actionResult = (ViewResult)controller.KundeDetaljer("unittest@test.no");
  406. var resultat = (Kunde)actionResult.Model;
  407.  
  408. // Assert
  409. Assert.AreEqual(actionResult.ViewName, "");
  410. Assert.AreEqual(forventetResultat.Fornavn, resultat.Fornavn);
  411. Assert.AreEqual(forventetResultat.Etternavn, resultat.Etternavn);
  412. Assert.AreEqual(forventetResultat.Adresse, resultat.Adresse);
  413. Assert.AreEqual(forventetResultat.Poststed.Postnr, resultat.Poststed.Postnr);
  414. Assert.AreEqual(forventetResultat.Poststed.Sted, resultat.Poststed.Sted);
  415. Assert.AreEqual(forventetResultat.Telefon, resultat.Telefon);
  416. Assert.AreEqual(forventetResultat.Epost, resultat.Epost);
  417. }
  418.  
  419. [TestMethod]
  420. public void Detaljer_session_ikke_OK()
  421. {
  422. // Arrange
  423. var SessionMock = new TestControllerBuilder();
  424. var controller = new KundeController(new KundeBLL(new KundeStub()));
  425. SessionMock.InitializeController(controller);
  426. controller.Session["LoggetInn"] = false;
  427.  
  428. var forventetResultat = new Kunde()
  429. {
  430. Fornavn = "Per",
  431. Etternavn = "Olsen",
  432. Adresse = "Osloveien 82",
  433. Poststed = poststed,
  434. Telefon = "12345678",
  435. Epost = "unittest@test.no",
  436. Aktiv = true
  437. };
  438. // Act
  439. var result = (RedirectToRouteResult)controller.KundeDetaljer("unittest@test.no");
  440.  
  441. // Assert
  442. Assert.AreEqual(result.RouteName, "");
  443. Assert.AreEqual(result.RouteValues.Values.First(), "IngenTilgang");
  444. }
  445.  
  446. [TestMethod]
  447. public void Endre()
  448. {
  449. // Arrange
  450. var SessionMock = new TestControllerBuilder();
  451. var controller = new KundeController(new KundeBLL(new KundeStub()));
  452. SessionMock.InitializeController(controller);
  453. controller.Session["LoggetInn"] = true;
  454.  
  455. // Act
  456. var actionResult = (ViewResult)controller.EndreKunde("");
  457.  
  458. // Assert
  459. Assert.AreEqual(actionResult.ViewName, "");
  460. }
  461.  
  462. [TestMethod]
  463. public void Endre_session_ikke_OK()
  464. {
  465. // Arrange
  466. var SessionMock = new TestControllerBuilder();
  467. var controller = new KundeController(new KundeBLL(new KundeStub()));
  468. SessionMock.InitializeController(controller);
  469. controller.Session["LoggetInn"] = false;
  470.  
  471. // Act
  472. var result = (RedirectToRouteResult)controller.EndreKunde("");
  473.  
  474. // Assert
  475. Assert.AreEqual(result.RouteName, "");
  476. Assert.AreEqual(result.RouteValues.Values.First(), "IngenTilgang");
  477. }
  478.  
  479. [TestMethod]
  480. public void Endre_Ikke_Funnet_Ved_View()
  481. {
  482. // Arrange
  483. var SessionMock = new TestControllerBuilder();
  484. var controller = new KundeController(new KundeBLL(new KundeStub()));
  485. SessionMock.InitializeController(controller);
  486. controller.Session["LoggetInn"] = true;
  487.  
  488. // Act
  489. var actionResult = (ViewResult)controller.EndreKunde("");
  490. var flyplassResultat = (Kunde)actionResult.Model;
  491.  
  492. // Assert
  493. Assert.AreEqual(actionResult.ViewName, "");
  494. Assert.AreEqual(flyplassResultat.Epost, "null@test.no");
  495. }
  496.  
  497. [TestMethod]
  498. public void Endre_ikke_funnet_Post()
  499. {
  500. // Arrange
  501. var SessionMock = new TestControllerBuilder();
  502. var controller = new KundeController(new KundeBLL(new KundeStub()));
  503. SessionMock.InitializeController(controller);
  504. controller.Session["LoggetInn"] = true;
  505.  
  506. var innKunde = new Kunde()
  507. {
  508. Fornavn = "Per",
  509. Etternavn = "Olsen",
  510. Adresse = "Osloveien 82",
  511. Poststed = poststed,
  512. Telefon = "12345678",
  513. Epost = "unittest@test.no",
  514. Aktiv = true
  515. };
  516.  
  517. // Act
  518. var actionResult = (ViewResult)controller.EndreKunde("", innKunde);
  519.  
  520. // Assert
  521. Assert.AreEqual(actionResult.ViewName, "~/Views/Error/Error.cshtml");
  522. }
  523.  
  524. [TestMethod]
  525. public void Endre_feil_validering_Post()
  526. {
  527. // Arrange
  528. var SessionMock = new TestControllerBuilder();
  529. var controller = new KundeController(new KundeBLL(new KundeStub()));
  530. SessionMock.InitializeController(controller);
  531. controller.Session["LoggetInn"] = true;
  532.  
  533. var innKunde = new Kunde();
  534. controller.ViewData.ModelState.AddModelError("feil", "Epost = ''");
  535.  
  536. // Act
  537. var actionResult = (ViewResult)controller.EndreKunde("", innKunde);
  538.  
  539. // Assert
  540. Assert.IsTrue(actionResult.ViewData.ModelState.Count == 1);
  541. Assert.AreEqual(actionResult.ViewData.ModelState["feil"].Errors[0].ErrorMessage, "Epost = ''");
  542. Assert.AreEqual(actionResult.ViewName, "~/Views/Error/Error.cshtml");
  543. }
  544.  
  545. [TestMethod]
  546. public void Endre_funnet()
  547. {
  548. // Arrange
  549. var SessionMock = new TestControllerBuilder();
  550. var controller = new KundeController(new KundeBLL(new KundeStub()));
  551. SessionMock.InitializeController(controller);
  552. controller.Session["LoggetInn"] = true;
  553.  
  554. var innKunde = new Kunde()
  555. {
  556. Fornavn = "Per",
  557. Etternavn = "Olsen",
  558. Adresse = "Osloveien 82",
  559. Poststed = poststed,
  560. Telefon = "12345678",
  561. Epost = "unittest@test.no",
  562. Aktiv = true
  563. };
  564. // Act
  565. var actionResultat = (RedirectToRouteResult)controller.EndreKunde("unittest@test.no", innKunde);
  566.  
  567. // Assert
  568. Assert.AreEqual(actionResultat.RouteName, "");
  569. Assert.AreEqual(actionResultat.RouteValues.Values.First(), "ListKunder");
  570. }
  571.  
  572. [TestMethod]
  573. public void Endre_funnet_session_ikke_OK()
  574. {
  575. // Arrange
  576. var SessionMock = new TestControllerBuilder();
  577. var controller = new KundeController(new KundeBLL(new KundeStub()));
  578. SessionMock.InitializeController(controller);
  579. controller.Session["LoggetInn"] = false;
  580.  
  581. var innKunde = new Kunde()
  582. {
  583. Fornavn = "Per",
  584. Etternavn = "Olsen",
  585. Adresse = "Osloveien 82",
  586. Poststed = poststed,
  587. Telefon = "12345678",
  588. Epost = "unittest@test.no",
  589. Aktiv = true
  590. };
  591. // Act
  592. var result = (RedirectToRouteResult)controller.EndreKunde("unittest@test.no", innKunde);
  593.  
  594. // Assert
  595. Assert.AreEqual(result.RouteName, "");
  596. Assert.AreEqual(result.RouteValues.Values.First(), "IngenTilgang");
  597. }
  598. }
  599. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement