public async Task TestUpdate_CheckProperties() { var creator = 1; var facebookType = new SocialMediaType { SocialMediaTypeId = SocialMediaType.Facebook.Id, SocialMediaTypeName = SocialMediaType.Facebook.Value }; var twitter = new SocialMediaType { SocialMediaTypeId = SocialMediaType.Twitter.Id, SocialMediaTypeName = SocialMediaType.Twitter.Value }; var oldSocialMediaTypeId = facebookType.SocialMediaTypeId; var oldValue = "oldValue"; var yesterday = DateTimeOffset.Now.AddDays(-1.0); var socialMedia = new SocialMedia { SocialMediaId = 1 }; context.SetupActions.Add(() => { context.SocialMedias.Add(socialMedia); context.SocialMediaTypes.Add(facebookType); context.SocialMediaTypes.Add(twitter); socialMedia.History.CreatedBy = creator; socialMedia.History.CreatedOn = yesterday; socialMedia.History.RevisedBy = creator; socialMedia.History.RevisedOn = yesterday; socialMedia.SocialMediaTypeId = facebookType.SocialMediaTypeId; socialMedia.SocialMediaType = facebookType; socialMedia.SocialMediaValue = oldValue; }); var updatorId = 2; var updator = new User(updatorId); var updatedInstance = new UpdatedSocialMediaPresence(updator, socialMedia.SocialMediaId, "newValue", twitter.SocialMediaTypeId); Action tester = () => { Assert.AreEqual(1, context.SocialMedias.Count()); Assert.AreEqual(2, context.SocialMediaTypes.Count()); Assert.AreEqual(updatedInstance.Value, socialMedia.SocialMediaValue); Assert.AreEqual(updatedInstance.SocialMediaTypeId, socialMedia.SocialMediaTypeId); Assert.AreEqual(creator, socialMedia.History.CreatedBy); Assert.AreEqual(yesterday, socialMedia.History.CreatedOn); DateTimeOffset.Now.Should().BeCloseTo(socialMedia.History.RevisedOn, 2000); Assert.AreEqual(updatorId, socialMedia.History.RevisedBy); }; context.Revert(); service.Update(updatedInstance); tester(); context.Revert(); await service.UpdateAsync(updatedInstance); tester(); }
public void TestConstructor_UnknownSocialMediaType() { var id = 10; var userId = 1; var socialMediaTypeId = -1; var value = "facebook.com/someone"; var user = new User(userId); var instance = new UpdatedSocialMediaPresence(user, socialMediaTypeId, value, id); }
public void TestConstructor() { var userId = 1; var user = new User(userId); var id = 2; var value = "value"; var socialMediaTypeId = SocialMediaType.Facebook.Id; var instance = new UpdatedSocialMediaPresence(user, id, value, socialMediaTypeId); Assert.AreEqual(value, instance.Value); Assert.AreEqual(id, instance.Id); Assert.AreEqual(socialMediaTypeId, instance.SocialMediaTypeId); Assert.IsTrue(Object.ReferenceEquals(user, instance.Update.User)); }
public async Task TestUpdate_SocialMediaDoesNotExist() { var updatorId = 2; var updator = new User(updatorId); var updatedInstance = new UpdatedSocialMediaPresence(updator, 1, "value", SocialMediaType.Twitter.Id); Func <Task> f = () => { return(service.UpdateAsync(updatedInstance)); }; service.Invoking(x => x.Update(updatedInstance)).ShouldThrow <ModelNotFoundException>() .WithMessage(String.Format("The social media with id [{0}] was not found.", updatedInstance.Id)); f.ShouldThrow <ModelNotFoundException>() .WithMessage(String.Format("The social media with id [{0}] was not found.", updatedInstance.Id)); }
public async Task TestUpdate_SocialMedia_SevisNotLocked() { var personId = 1; var participantId = 1; var creator = 1; var updatorId = 2; var updator = new User(updatorId); var facebookType = new SocialMediaType { SocialMediaTypeId = SocialMediaType.Facebook.Id, SocialMediaTypeName = SocialMediaType.Facebook.Value }; var twitter = new SocialMediaType { SocialMediaTypeId = SocialMediaType.Twitter.Id, SocialMediaTypeName = SocialMediaType.Twitter.Value }; var oldSocialMediaTypeId = facebookType.SocialMediaTypeId; var oldValue = "oldValue"; var yesterday = DateTimeOffset.Now.AddDays(-1.0); Person person = new Person { PersonId = personId }; var socialMedia = new SocialMedia { SocialMediaId = 1, Person = person, PersonId = person.PersonId }; var participant = new Participant { ParticipantId = participantId, PersonId = person.PersonId, ParticipantStatusId = ParticipantStatus.Active.Id }; List <Participant> participants = new List <Participant>(); participants.Add(participant); person.Participations = participants; var participantPerson = new ParticipantPerson { Participant = participant, ParticipantId = participant.ParticipantId, }; participant.ParticipantPerson = participantPerson; var queuedToSubmitStatus = new SevisCommStatus { SevisCommStatusId = SevisCommStatus.InformationRequired.Id, SevisCommStatusName = SevisCommStatus.InformationRequired.Value }; var commStatus = new ParticipantPersonSevisCommStatus { AddedOn = DateTimeOffset.UtcNow, BatchId = "batch id", Id = 501, ParticipantId = participant.ParticipantId, ParticipantPerson = participantPerson, SevisCommStatus = queuedToSubmitStatus, SevisCommStatusId = queuedToSubmitStatus.SevisCommStatusId, }; participantPerson.ParticipantPersonSevisCommStatuses.Add(commStatus); person.SocialMedias.Add(socialMedia); context.SetupActions.Add(() => { context.SocialMedias.Add(socialMedia); context.SocialMediaTypes.Add(facebookType); context.SocialMediaTypes.Add(twitter); context.Participants.Add(participant); context.ParticipantPersons.Add(participantPerson); context.ParticipantPersonSevisCommStatuses.Add(commStatus); socialMedia.History.CreatedBy = creator; socialMedia.History.CreatedOn = yesterday; socialMedia.History.RevisedBy = creator; socialMedia.History.RevisedOn = yesterday; socialMedia.SocialMediaTypeId = facebookType.SocialMediaTypeId; socialMedia.SocialMediaType = facebookType; socialMedia.SocialMediaValue = oldValue; }); context.Revert(); var updatedSocialMedia = new UpdatedSocialMediaPresence(updator, socialMedia.SocialMediaId, "newValue", twitter.SocialMediaTypeId); var message = String.Format("An update was attempted on participant with id [{0}] but should have failed validation.", participant.ParticipantId); Action a = () => service.Update(updatedSocialMedia); Func <Task> f = () => service.UpdateAsync(updatedSocialMedia); a.ShouldNotThrow <EcaBusinessException>(); f.ShouldNotThrow <EcaBusinessException>(); }