public async Task HandleCreateArm_WithValidDroidId_ArmCreatedSuccessfully() { // Arrange var droidHandler = new DroidHandler(_repoMock.Object, _repoArmMock.Object, _quoteMock.Object, _encryptionMock.Object); var createArm = new CreateArm(_serialNumber); var getDroidResult = Task.FromResult(_droidDto); _repoMock .Setup(repo => repo.GetBySerialNumberAsync(_serialNumber, Droid.AssertExists)) .Returns(getDroidResult); var getArmResult = Task.FromResult(_armDtoList); _repoArmMock .Setup(repo => repo.GetDroidArmsAsync(_serialNumber)) .Returns(getArmResult); _repoArmMock .Setup(repo => repo.InsertDroidArmAsync(_serialNumber, It.IsAny <Arm>(), It.IsAny <Action <IDroidValidationInfo> >())) .Returns(Task.CompletedTask); // Act await droidHandler.HandleAsync(createArm).ConfigureAwait(false); // Assert _repoArmMock.Verify((r) => r.InsertDroidArmAsync(_serialNumber, It.IsAny <Arm>(), It.IsAny <Action <IDroidValidationInfo> >()), Times.Once); }
public async Task CreateArm_WithValidSerialNumber_ReturnsNoContentStatusCodeAsync() { // Arrange var serialNumber = Guid.Parse("341d9e5b-ae06-4c06-ba4f-7256317792cd"); var createArm = new CreateArm(serialNumber); _handler .Setup(x => x.HandleAsync(createArm)) .Returns(Task.CompletedTask); // Act var httpResponse = await _controller.PostAsync(serialNumber); var httpCode = ((StatusCodeResult)httpResponse).StatusCode; // Assert httpCode.Should().Be((int)HttpStatusCode.NoContent); }