Skip to content

Data fields of type date are not set over wrapper.setData. #818

Closed
@sparlampe

Description

@sparlampe

Version

1.0.0-beta.20

Reproduction link

https://codepen.io/sparlampe/pen/wxBqOy

Steps to reproduce

In a unit test try to use wrapper.setData to set a field of type date like so wrapper.setData(someDateField: new Date())

What is expected?

someDateField should be equal to the current date

What is actually happening?

if the default value is undefined, after setDate is executed, the field has value {}.


This seems to happen because of the merging of objects in the vue-test-utils code. At some point vue-test-util calculates the source object and the target object.

The target object is calculated as follows: Object(vm.someDateField) which gives {} if someDateField is initially undefined. The the source object is explored for keys like so: Object.keys(new Date()), which gives [].

So eventually we have an empty target object with no fields from the source object to be transferred to the target.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions