Skip to content

Commit dae5acd

Browse files
added unit tests for core module WidgetInstanceService (#1077)
Co-authored-by: Hisham Bin Ateya <hishamco_2007@yahoo.com>
1 parent 1cc3cfe commit dae5acd

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
using System;
2+
using System.Linq;
3+
using Moq;
4+
using SimplCommerce.Infrastructure.Data;
5+
using SimplCommerce.Module.Core.Models;
6+
using SimplCommerce.Module.Core.Services;
7+
using Xunit;
8+
9+
namespace SimplCommerce.Module.Core.Tests.Services
10+
{
11+
public class WidgetInstanceServiceTests
12+
{
13+
[Fact]
14+
public void GetPublished_ShouldReturnPublishedWidgetInstances()
15+
{
16+
// Arrange
17+
var widgetInstances = new[]
18+
{
19+
new WidgetInstance { PublishStart = DateTimeOffset.Now.AddDays(-1), PublishEnd = DateTimeOffset.Now.AddDays(1) },
20+
new WidgetInstance { PublishStart = DateTimeOffset.Now.AddDays(-2), PublishEnd = DateTimeOffset.Now.AddDays(2) }
21+
};
22+
23+
var mockRepository = new Mock<IRepository<WidgetInstance>>();
24+
mockRepository.Setup(x => x.Query()).Returns(widgetInstances.AsQueryable());
25+
26+
var widgetInstanceService = new WidgetInstanceService(mockRepository.Object);
27+
28+
// Act
29+
var result = widgetInstanceService.GetPublished();
30+
31+
// Assert
32+
Assert.Equal(widgetInstances.Length, result.Count());
33+
}
34+
35+
[Fact]
36+
public void GetPublished_ShouldNotReturnUnpublishedWidgetInstances()
37+
{
38+
// Arrange
39+
var widgetInstances = new[]
40+
{
41+
new WidgetInstance { PublishStart = DateTimeOffset.Now.AddDays(1), PublishEnd = DateTimeOffset.Now.AddDays(2) },
42+
new WidgetInstance { PublishStart = null, PublishEnd = DateTimeOffset.Now.AddDays(-1) },
43+
};
44+
45+
var mockRepository = new Mock<IRepository<WidgetInstance>>();
46+
mockRepository.Setup(x => x.Query()).Returns(widgetInstances.AsQueryable());
47+
48+
var widgetInstanceService = new WidgetInstanceService(mockRepository.Object);
49+
50+
// Act
51+
var result = widgetInstanceService.GetPublished();
52+
53+
// Assert
54+
Assert.Empty(result);
55+
}
56+
}
57+
}

0 commit comments

Comments
 (0)