public async Task Enqueues_With_Distinct_Tags_Correctly() { // Arrange var tags = new[] { "Tag1", "Tag2", ConfigTag }; var taskInfo = new ServiceContract.Models.TaskInfo { Id = Guid.NewGuid(), AssemblyName = "Test.Assembly", MethodName = "Test.Method", ReturnType = typeof(string), TypeName = "string", Arguments = new object[] { "Argument" }, Status = TaskStatus.WaitingForActivation, Tags = tags }; // Act await _sut.Enqueue(taskInfo).ConfigureAwait(false); // Assert var task = await _context.Tasks.FirstOrDefaultAsync(t => t.ResourceId.Equals(taskInfo.Id)).ConfigureAwait(false); var explodedTaskTags = task.Tags.Split(','); foreach (var tag in tags.Union(new[] { ConfigTag })) { explodedTaskTags.Count(t => t.Equals(tag)).ShouldBe(1); } }
public async Task Enqueues_Correctly_With_No_TaskStatus() { // Arrange var taskInfo = new ServiceContract.Models.TaskInfo { Id = Guid.NewGuid(), AssemblyName = "Test.Assembly", MethodName = "Test.Method", ReturnType = typeof(string), TypeName = "string", Arguments = new object[] { "Argument" } }; // Act await _sut.Enqueue(taskInfo).ConfigureAwait(false); // Assert var task = await _context.Tasks.FirstOrDefaultAsync(t => t.ResourceId.Equals(taskInfo.Id) && t.Status.Equals(TaskStatus.Created)).ConfigureAwait(false); task.ShouldNotBeNull(); }
public async Task Enqueues_With_Config_Tags_Correctly() { // Arrange string[] tags = { "Tag1", "Tag2" }; var taskInfo = new ServiceContract.Models.TaskInfo { Id = Guid.NewGuid(), AssemblyName = "Test.Assembly", MethodName = "Test.Method", ReturnType = typeof(string), TypeName = "string", Arguments = new object[] { "Argument" }, Status = TaskStatus.WaitingForActivation, Tags = tags }; // Act await _sut.Enqueue(taskInfo).ConfigureAwait(false); // Assert var task = await _context.Tasks.FirstOrDefaultAsync(t => t.ResourceId.Equals(taskInfo.Id)).ConfigureAwait(false); task.Tags.ShouldContain(ConfigTag); }