public async Task PostAsync_Test() { //Arrange var group = Fixture.Create <Models.Group>(); var mappedGroup = new Group { Id = group.Id, Name = group.Name }; Mapper.Map <Group>(Arg.Any <Models.Group>()).ReturnsForAnyArgs(mappedGroup); Container.CreateItemAsync(Arg.Is(mappedGroup), Arg.Any <PartitionKey>()) .Returns(CreateItemResponse(HttpStatusCode.OK, mappedGroup)); Mapper.Map <Models.Group>(Arg.Any <Group>()).Returns(group); //Act var result = await _sut.PostAsync(ApplicationId, group).ConfigureAwait(false); //Assert result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); var ok = result as OkObjectResult; ok.Should().NotBeNull(); var groupResult = ok.Value as Models.Group; groupResult.Should().NotBeNull(); await Container.Received(1) .ReadItemAsync <Application>(Arg.Is(ApplicationId), Arg.Any <PartitionKey>()) .ConfigureAwait(false); await Container.Received(1) .CreateItemAsync(Arg.Is(mappedGroup), Arg.Any <PartitionKey>()) .ConfigureAwait(false); Mapper.Received(1).Map <Group>(Arg.Any <Models.Group>()); }