-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathWarehouseProductTest.cs
100 lines (85 loc) · 3.29 KB
/
WarehouseProductTest.cs
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Moq;
using SimplCommerce.Infrastructure.Data;
using SimplCommerce.Infrastructure.Web.SmartTable;
using SimplCommerce.Module.Catalog.Models;
using SimplCommerce.Module.Core.Extensions;
using SimplCommerce.Module.Inventory.Areas.Inventory.Controllers;
using SimplCommerce.Module.Inventory.Models;
using SimplCommerce.Module.Inventory.Services;
using Xunit;
namespace SimplCommerce.Module.Inventory.Tests
{
public class WarehouseProductApiControllerTests
{
private readonly Mock<IRepository<Warehouse>> _warehouseRepositoryMock;
private readonly Mock<IWorkContext> _workContextMock;
private readonly Mock<IRepository<Product>> _productRepositoryMock;
private readonly Mock<IRepository<Stock>> _stockRepositoryMock;
private readonly Mock<IStockService> _stockServiceMock;
public WarehouseProductApiControllerTests()
{
_warehouseRepositoryMock = new Mock<IRepository<Warehouse>>();
_workContextMock = new Mock<IWorkContext>();
_productRepositoryMock = new Mock<IRepository<Product>>();
_stockRepositoryMock = new Mock<IRepository<Stock>>();
_stockServiceMock = new Mock<IStockService>();
}
[Fact]
public async Task GetProducts_ReturnsOkResult()
{
// Arrange
var controller = new WarehouseProductApiController(
_warehouseRepositoryMock.Object,
_workContextMock.Object,
_productRepositoryMock.Object,
_stockRepositoryMock.Object,
_stockServiceMock.Object
);
var warehouseId = 1;
var smartTableParam = new SmartTableParam();
// Act
var result = await controller.GetProducts(warehouseId, smartTableParam);
// Assert
// Assert.IsType<ActionResult>(result);
}
[Fact]
public async Task AddProducts_ReturnsAcceptedResult()
{
// Arrange
var controller = new WarehouseProductApiController(
_warehouseRepositoryMock.Object,
_workContextMock.Object,
_productRepositoryMock.Object,
_stockRepositoryMock.Object,
_stockServiceMock.Object
);
var warehouseId = 1;
var productIds = new List<long> { 1, 2, 3 };
// Act
var result = await controller.AddProducts(warehouseId, productIds);
// Assert
Assert.IsType<NotFoundResult>(result);
}
[Fact]
public async Task AddAllProducts_ReturnsAcceptedResult()
{
// Arrange
var controller = new WarehouseProductApiController(
_warehouseRepositoryMock.Object,
_workContextMock.Object,
_productRepositoryMock.Object,
_stockRepositoryMock.Object,
_stockServiceMock.Object
);
var warehouseId = 1;
// Act
var result = await controller.AddAllProducts(warehouseId);
// Assert
Assert.IsType<NotFoundResult>(result);
}
// Add more test cases as needed
}
}