public async Task Newly_Created_Bucket_are_PUT_to_the_server_when_updated() { //Arrange var updatedId = -1; var httpclient = new Mock <IHttpClient>(); httpclient .Setup(fake => fake.PostJsonAsync(BUCKETS, It.IsAny <Bucket>())) .ReturnsAsync(new Bucket { Id = 42 }); httpclient .Setup(mock => mock.PutJsonAsync(It.IsAny <string>(), It.IsAny <Bucket>())) .Callback <string, Bucket>((_, updatedBucket) => updatedId = updatedBucket.Id); var reader = new BucketSync(httpclient.Object); var createdBucket = await reader.CreateEmptyAsync(); //Act createdBucket.Add(new Story()); //Assert httpclient.Verify(mock => mock.PutJsonAsync(BUCKETS, It.IsAny <Bucket>()), Times.Once); Assert.AreEqual(createdBucket.Id, updatedId); }
public async Task CreateEmpty_creates_a_new_Bucket_and_returns_a_SyncableBucket() { //Arrange var httpclient = new Mock <IHttpClient>(); httpclient .Setup(fake => fake.PostJsonAsync(BUCKETS, It.IsAny <Bucket>())) .ReturnsAsync(new Bucket { Id = 42 }); var syncer = new BucketSync(httpclient.Object); //Act var created = await syncer.CreateEmptyAsync(); //Assert Assert.IsNotNull(created); }
public async Task CreateEmpty_posts_the_new_bucket_to_the_buckets_endpoint() { //Arrange var httpclient = new Mock <IHttpClient>(); httpclient .Setup(fake => fake.PostJsonAsync(BUCKETS, It.IsAny <Bucket>())) .ReturnsAsync(new Bucket { Id = 42 }); var syncer = new BucketSync(httpclient.Object); //Act _ = await syncer.CreateEmptyAsync(); //Assert httpclient.Verify(mock => mock.PostJsonAsync(BUCKETS, It.IsAny <Bucket>()), Times.Once); }
public async Task CreateEmpty_sets_the_returned_id_on_the_returned_bucket() { //Arrange var idForNew = 42; var httpclient = new Mock <IHttpClient>(); httpclient .Setup(fake => fake.PostJsonAsync(BUCKETS, It.IsAny <Bucket>())) .ReturnsAsync(new Bucket { Id = idForNew }); var syncer = new BucketSync(httpclient.Object); //Act var created = await syncer.CreateEmptyAsync(); //Assert Assert.AreEqual(idForNew, created.Id); }