Advertisement
Guest User

Untitled

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