Skip to content

Commit

Permalink
integrationテストを実装
Browse files Browse the repository at this point in the history
  • Loading branch information
Aseiide committed Apr 18, 2022
1 parent 1a1a62f commit 653c453
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 8 deletions.
26 changes: 18 additions & 8 deletions app/javascript/products.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,31 @@
header.card-header.a-elapsed-days(
v-if='product_n_days_passed.elapsed_days === 0'
)
h2 今日提出({{countProductsGroupedBy(product_n_days_passed)}})
h2 今日提出
.countproductsgroupedby(v-if='selectedTab === "unassigned"')
| {{ countProductsGroupedBy(product_n_days_passed) }})
header.card-header.a-elapsed-days.is-reply-warning(
v-else-if='product_n_days_passed.elapsed_days === 5'
)
h2 {{ product_n_days_passed.elapsed_days }}日経過({{countProductsGroupedBy(product_n_days_passed)}})
h2 {{ product_n_days_passed.elapsed_days }}日経過
.countproductsgroupedby(v-if='selectedTab === "unassigned"')
| ({{ countProductsGroupedBy(product_n_days_passed) }})
header.card-header.a-elapsed-days.is-reply-alert(
v-else-if='product_n_days_passed.elapsed_days === 6'
)
h2 {{ product_n_days_passed.elapsed_days }}日経過({{countProductsGroupedBy(product_n_days_passed)}})
h2 {{ product_n_days_passed.elapsed_days }}日経過
.countproductsgroupedby(v-if='selectedTab === "unassigned"')
| ({{ countProductsGroupedBy(product_n_days_passed) }})
header.card-header.a-elapsed-days.is-reply-deadline(
v-else-if='product_n_days_passed.elapsed_days === 7'
)
h2 {{ product_n_days_passed.elapsed_days }}日以上経過({{countProductsGroupedBy(product_n_days_passed)}})
h2 {{ product_n_days_passed.elapsed_days }}日以上経過
.countproductsgroupedby(v-if='selectedTab === "unassigned"')
| ({{ countProductsGroupedBy(product_n_days_passed) }})
header.card-header.a-elapsed-days(v-else)
h2 {{ product_n_days_passed.elapsed_days }}日経過({{countProductsGroupedBy(product_n_days_passed)}})
h2 {{ product_n_days_passed.elapsed_days }}日経過
.countproductsgroupedby(v-if='selectedTab === "unassigned"')
| ({{ countProductsGroupedBy(product_n_days_passed) }})
.thread-list__items
product(
v-for='product in product_n_days_passed.products',
Expand Down Expand Up @@ -192,11 +202,11 @@ export default {
})
return params
},
countProductsGroupedBy({elapsed_days: elapsedDays}) {
countProductsGroupedBy({ elapsed_days: elapsedDays }) {
const element = this.productsGroupedByElapsedDays.find(
el => el.elapsed_days === elapsedDays
(el) => el.elapsed_days === elapsedDays
)
return (element === undefined) ? 0 : element.products.length
return element === undefined ? 0 : element.products.length
}
}
}
Expand Down
10 changes: 10 additions & 0 deletions test/integration/api/products_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,14 @@ class API::ProductsTest < ActionDispatch::IntegrationTest
actual = response.parsed_body['products'].map { |product| product['practice']['title'] }
assert_equal expected, actual
end

test 'return correct number of products' do
token = create_token('komagata', 'testtest')
get api_products_unassigned_index_path(format: :json),
headers: { 'Authorization' => "Bearer #{token}" }

expected = products(:product8, :product10, :product11, :product12, :product13, :product14).map.count
actual = response.parsed_body['products_grouped_by_elapsed_days'].find { |i| i['elapsed_days'] == 7 }['products'].count
assert_equal expected, actual
end
end

0 comments on commit 653c453

Please sign in to comment.