137
|
1 using System;
|
|
2 using System.Drawing;
|
|
3 using System.IO;
|
|
4 using System.Linq;
|
|
5 using AltNetHispano.Agendas.Domain;
|
|
6 using AltNetHispano.Agendas.Domain.Repositories;
|
|
7 using NUnit.Framework;
|
|
8
|
|
9 namespace AltNetHispano.Agendas.Tests.Cruds
|
|
10 {
|
|
11 public class PatrocinadorCrud
|
|
12 {
|
|
13 private readonly IPatrocinadorRepository _patrocinadorRepository;
|
|
14 private readonly Func<IDisposable> _requestEmulator;
|
|
15 private byte[] _logo;
|
|
16
|
|
17 public PatrocinadorCrud(Func<IPatrocinadorRepository> createPatrocinadorRepository, Func<IDisposable> requestEmulator)
|
|
18 {
|
|
19 _patrocinadorRepository = createPatrocinadorRepository.Invoke();
|
|
20 _requestEmulator = requestEmulator;
|
|
21 }
|
|
22
|
|
23 public Guid Create()
|
|
24 {
|
|
25 using (_requestEmulator.Invoke())
|
|
26 {
|
|
27 var patrocinador = new Patrocinador("APRESS");
|
|
28
|
|
29 var image = Image.FromFile("images/apress.gif");
|
|
30 var ms = new MemoryStream();
|
|
31 image.Save(ms, image.RawFormat);
|
|
32 _logo = ms.ToArray();
|
|
33
|
|
34 patrocinador.Logo = _logo;
|
|
35
|
|
36 _patrocinadorRepository.Save(patrocinador);
|
|
37 return patrocinador.Id;
|
|
38 }
|
|
39 }
|
|
40
|
|
41 public void Read()
|
|
42 {
|
|
43 Guid patrocinadorId = Create();
|
|
44
|
|
45 using (_requestEmulator.Invoke())
|
|
46 {
|
|
47 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
|
|
48
|
|
49 Assert.IsNotNull(patrocinador);
|
|
50 Assert.AreEqual("APRESS", patrocinador.Nombre);
|
|
51 Assert.IsNotNull(patrocinador.Logo);
|
|
52 Assert.AreEqual(_logo, patrocinador.Logo);
|
|
53 }
|
|
54 }
|
|
55
|
|
56 public void Update()
|
|
57 {
|
|
58 Guid patrocinadorId = Create();
|
|
59
|
|
60 using (_requestEmulator.Invoke())
|
|
61 {
|
|
62 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
|
|
63 Assert.IsNotNull(patrocinador);
|
|
64
|
|
65 patrocinador.Nombre = "Apress";
|
|
66 }
|
|
67
|
|
68 using (_requestEmulator.Invoke())
|
|
69 {
|
|
70 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
|
|
71
|
|
72 Assert.IsNotNull(patrocinador);
|
|
73 Assert.AreEqual("Apress", patrocinador.Nombre);
|
|
74 }
|
|
75 }
|
|
76
|
|
77 public void Delete()
|
|
78 {
|
|
79 Guid patrocinadorId = Create();
|
|
80
|
|
81 using (_requestEmulator.Invoke())
|
|
82 {
|
|
83 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
|
|
84 Assert.IsNotNull(patrocinador);
|
|
85
|
|
86 _patrocinadorRepository.Delete(patrocinador);
|
|
87 }
|
|
88
|
|
89 using (_requestEmulator.Invoke())
|
|
90 {
|
|
91 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
|
|
92 Assert.IsNull(patrocinador);
|
|
93 }
|
|
94 }
|
|
95 }
|
|
96 } |