Search announcements unit tests
This commit is contained in:
@@ -1,14 +1,46 @@
|
|||||||
using System;
|
using Logic;
|
||||||
|
using Models;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using Tests.Mocks;
|
||||||
|
|
||||||
namespace Tests
|
namespace Tests
|
||||||
{
|
{
|
||||||
[TestClass]
|
[TestClass]
|
||||||
public class AnnouncementManagerTest
|
public class AnnouncementManagerTest
|
||||||
{
|
{
|
||||||
|
[TestMethod]
|
||||||
|
public void SearchEmptyRegexQueryTest()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
AnnouncementManager announcementManager = new AnnouncementManager(new AnnouncementRepositoryFake());
|
||||||
|
|
||||||
|
// Act
|
||||||
|
List<Announcement> result = announcementManager.SearchAnnouncements(string.Empty);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
CollectionAssert.AreEquivalent(new List<Announcement>(), result);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void SearchRegexWithDateQueryTest()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
AnnouncementManager announcementManager = new AnnouncementManager(new AnnouncementRepositoryFake());
|
||||||
|
User user = new User(1, "user", "password", UserRole.TENANT);
|
||||||
|
announcementManager.CreateAnnouncement("1", "", user, new DateTime(2000, 01, 01), false, false);
|
||||||
|
announcementManager.CreateAnnouncement("2", "", user, new DateTime(2000, 01, 01), true, false);
|
||||||
|
announcementManager.CreateAnnouncement("3", "", user, new DateTime(2000, 02, 02), false, false);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
List<Announcement> expected = announcementManager.GetAllAnnouncements().Where(x => x.PublishDate == new DateTime(2000, 01, 01)).ToList();
|
||||||
|
List<Announcement> result = announcementManager.SearchAnnouncements("date:2000-01-01");
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
CollectionAssert.AreEquivalent(expected, result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -48,6 +48,11 @@ namespace Tests.Mocks
|
|||||||
return announcements.GetRange(p + c, c);
|
return announcements.GetRange(p + c, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Announcement> SearchAnnouncement(string query)
|
||||||
|
{
|
||||||
|
return announcements.Where(x => x.Title.Contains(query) || x.Description.Contains(query)).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
public void UpdateAnnouncement(int id, string title, string description, bool isImportant, bool isSticky)
|
public void UpdateAnnouncement(int id, string title, string description, bool isImportant, bool isSticky)
|
||||||
{
|
{
|
||||||
Announcement announcement = announcements.First(x => x.ID == id);
|
Announcement announcement = announcements.First(x => x.ID == id);
|
||||||
|
Reference in New Issue
Block a user