public void Creating_Achievement_PersistsAcvm() { // Arrange var commandDispatcher = this._testInfrastructure.DiContainer.GetInstance <IMediator>(); var command = new CreateAchievementCommand("Test", 1, 3); // Act var newAchievement = commandDispatcher.Send(command); // Assert Assert.That(newAchievement != null, Is.True); }
public async Task CompletingAchievement_CompletesAchievement() { // Arrange var commandDispatcher = this._testInfrastructure.DiContainer.GetInstance <IMediator>(); var createCommand = new CreateAchievementCommand("Test", 1, 3); var newAchievement = await commandDispatcher.Send(createCommand); var command = new CompleteAchievementCommand(newAchievement.AchievementId); // Act await commandDispatcher.Send(command); // Assert Assert.That(newAchievement != null, Is.True); }
public async Task Creating_Achievement_ShouldCreateProjection() { using (var connection = this._testInfrastructure.OpenDatabaseConnection()) { // Arrange var commandDispatcher = this._testInfrastructure.DiContainer.GetInstance <IMediator>(); var repository = new AchievementRepository(); var command = new CreateAchievementCommand("Test", 1, 5); // Act var newAchievement = await commandDispatcher.Send(command); var projection = await repository.GetByIdAsync(connection, newAchievement.AchievementId); // Assert Assert.That(newAchievement.AchievementId, Is.Not.EqualTo(Guid.Empty)); Assert.That(projection, Is.Not.Null); Assert.That(projection.AchievementId, Is.EqualTo(newAchievement.AchievementId)); Assert.That(projection.Name, Is.EqualTo(command.Name)); } }
public async Task CompletingAchievement_ShouldCompleteProjection() { using (var connection = this._testInfrastructure.OpenDatabaseConnection()) { // Arrange var commandDispatcher = this._testInfrastructure.DiContainer.GetInstance <IMediator>(); var repository = new AchievementRepository(); var command = new CreateAchievementCommand("Test", 1, 5); var newAchievement = await commandDispatcher.Send(command); var command2 = new CompleteAchievementCommand(newAchievement.AchievementId); // Act var completedResponse = await commandDispatcher.Send(command2); var projection = await repository.GetByIdAsync(connection, newAchievement.AchievementId); // Assert Assert.That(projection.CompletedOn, Is.Not.Null); } }
public async Task <ActionResult <AchievementAdminViewModel> > Create([FromBody] CreateAchievementCommand command) { return(Ok(await Mediator.Send(command))); }