-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
45 lines (31 loc) · 1.76 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//startup.cs
services.AddCors();
//middelwery try cache, w middelrwareze mozna dodac logowanie i przekazywanie wiadomosci,
// w sensie middelrwerey dodać logike szczegolna, powinnien zmapowac wiadomosc do przegladarki
//https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?view=aspnetcore-2.2
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddMemoryCache();
//Controller
//https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)
//controller -> service-> repozytorium. w service ma byc lacznikiem . w service jest cala 'lohgika' Encje model itp...
//controller nie powinnien miec dostepu do repozytorium! brak Encji z bazodanowa
//nie powinno na domenie pracować
//Kontroller ma przyjmpować dane a reszta ma sie dziac w service
[HttpGet("{categoryExpenseId}")]
public async Task<IActionResult> Get(int categoryExpenseId)
{
//tak powiinoo wygladac kontroller (wyjatki try catch powinny byc obslugiwane w middelwarre)
var categoryExpenseEntities = await _categoryExpenseRepository.GetAsync(categoryExpenseId);
return Ok(categoryExpenseEntities);
}
if (!ModelState.IsValid) //przekazac do middelware obsluge zwracanaia wyjatkow itp...
//ServiceTest
//It.IsAny<List<Models.CategoryExpense>>() - ustawiać podczas arrange
//https://nsubstitute.github.io/
// Act
await sut.AddCategoryExpense(It.IsAny<List<Models.CategoryExpense>>());
//w momencie ACT podawać zmienne z wartościoami lub elementy z substituted
//entity framewerk testy dla in memeory, skupić sie na biznesowej warstwie metody.
//
// Act //W act powinna być tylko jedna linijka, jedna metoda ktora jest testowana
var resultOfAddCategoryExpense = await sut.AddCategoryExpense(ZmiennaZwartosciami);